Rubrik: Windows/System | 22.03.05 |
SleepEx-Funktion Diese Funktion hält den aufrufenden Thread an, bis das Zeitlimit erreicht, eine IO-Callbackfunktion aufgerufen wurde oder ein APC-Aufruf an den Thread gesendet wurde. | ||
Betriebssystem: Win95, Win98, WinNT 3.1, Win2000, WinME | Views: 10.516 |
Deklaration:
Declare Function SleepEx Lib "kernel32" ( _ ByVal dwMilliseconds As Long, _ ByVal bAlertable As Long) As Long
Beschreibung:
Diese Funktion hält den aufrufenden Thread an, bis das Zeitlimit erreicht, eine IO-Callbackfunktion aufgerufen wurde oder ein APC-Aufruf an den Thread gesendet wurde.
Parameter:
dwMilliseconds | Erwartet die Anzahl der Millisekunden, die deraufrufende Thread angehalten werden soll. |
bAlertable | Erwartet den Wert "1", wenn die Funktion gestoppt werden soll wennbei dem aktuellen Thread IO-Callbacks oder APC-Nachrichten eingehen. Andernfalls kann hier derWert "0" übergeben werden, wenn das Zeitlimit auf jeden Fall eingehalten werden soll. |
Rückgabewert:
Ist die Funktion erfolgreich, so wird der Wert "0" zurückgegeben. Wurde der Vorgang vorzeitig wegen einer eintreffenden IO-Callback-Funktion abgebrochen, so wird die Konstante "WAIT_IO_COMPLETE" zurückgegeben.
Const STATUS_USER_APC = &HC0 ' Standard-Wait-Konstante Const WAIT_IO_COMPLETION = STATUS_USER_APC ' Der Vorgang wurde abgebrochen, weil eine IO-Callback-Funktion aufgerufen wurde
Beispiel:
Private Declare Function SleepEx Lib "kernel32" ( _ ByVal dwMilliseconds As Long, _ ByVal bAlertable As Long) As Long ' SleepEx-Rückgabekonstante Private Const STATUS_USER_APC = &HC0 ' Standard-Wait-Konstante Private Const WAIT_IO_COMPLETION = STATUS_USER_APC ' Der Vorgang wurde abgebrochen, weil eine ' IO-Callback-Funktion aufgerufen wurde
Private Sub Command1_Click() Dim Retval As Long Retval = SleepEx(2000, 1) If Retval = 0 Then MsgBox "2 Sekunden später" Else MsgBox "Vorgang wegen einer eintreffenden Dateioperationsbenachrichtung abgebrochen" End If End Sub