vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Windows/System22.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, WinMEViews:  10.510 

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:
dwMillisecondsErwartet die Anzahl der Millisekunden, die deraufrufende Thread angehalten werden soll.
bAlertableErwartet 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.

Rückgabekonstanten:
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

 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.