Die Community zu .NET und Classic VB.
Menü

WaitForSingleObject

 von 

Deklaration  

Declare Function WaitForSingleObject Lib "kernel32" ( _
                 ByVal hHandle As Long, _
                 ByVal dwMilliseconds As Long) As Long
Weitere Informationen zur Verwendung dieser Funktion finden sie u.U. auch im Artikel WaitForSingleObject des API-Wikis.

WaitForSingleObject kehrt zu der aufrufenden Anwendung erst dann zurück, wenn eine vorgegebene Zeitspanne abgelaufen, oder ein zu beobachtendes Objekt seinen Zustand ändert. Der aufrufende Thread wird dabei in einen Wartezustand versetzt der ausgesprochen wenig Prozessor-Ressourcen verbraucht.

Parameter
hHandle As LongBezeichnet das Objekt. Eine Liste der für dieses Funktion verwendbaren Objekte finden sie hier . Unter Windows NT muß das Handle SYNCHRONIZE Rechte besitzen.
dwMillisecondsSetzt eine Timeout Zeit in Millisekunden. Die Funktion kehrt zurück, wenn diese Zeit abgelaufen und das zu betrachtende Objekt währendessen seinen Zustand nicht geändert hat. ISt dieser Wert gleich Null, kehrt die Funktion umgehend zurück. Ein unendliches Timeout kann mit der Konstanten INFINITE gesetzt werden.

Tabelle 1


Mögliche Objekte für WaitForSingleObject
Change notificationDas Handle das von FindFirstChangeNotification zurückgegeben wurde. Ein ChangeNotification-Objekt signalisiert einen Zustandswechsel, wenn eine vorher definierte Änderung in dem festelegten Verzeichnis oder Unterverzeichnis auftritt.
Console inputDas Handle das von CreateFile bei der Spezifizierung von CONIN$ oder von der GetStdHandle zurückgegeben wurde. Ein Zustandswechsel wird signalisiert, wenn sich eine ungelesene Eingabe im Eingabe-Puffer befindet. Kein Zustandswechsel tritt ein, wenn der Eingabe-Puffer leer ist.
EventDas Handle das von CreateEvent oder OpenEvent zurückgegeben wurde. Ein Event-Objekt ändert seinen Zustand explizit durch die SetEvent oder PulseEvent Funktion. Der Zustand eines Manual-Reset-Event-Objekts muß ausdrücklich durch die ResetEvent Funktion zurückgsetzt werden. Bei einem Auto-Reset-Objekt-Event wird der Zustand durch die Wartefunktion vor ihrer Rückkehr zurückgesetzt. Event-Objekte werden auch in Zusammenhang mit überlappenden Operationen genutzt, bei denen ihr Zustand durch das System gesetzt wird.
MutexDas Handle das von CreateMutex oder OpenMutex zurückgegeben wurde. Ein Mutex-Objekt ändert seinen Zustand, wenn es nicht mehr von einem Thread genutzt wird. Die Wartefunktion fragt den aufrufenden Thread nach der seinem Anspruch auf das Mutext-Objekt und ändert dessen Zustand in nichtsignalisiert, wenn dieser vom Thread bestätigt wird.
ProcessDas Handle das von CreateProcess, CreateThread oder CreateRemoteThread zurückgegeben wurde. Ein Process-Objekt ändert seinen Zustand, wenn der Prozeß geschlossen wird.
ProcessDas Handle das von CreateProcess oder OpenProcess zurückgegeben wurde. Ein Thread-Objekt ändert seinen Zustand, wenn der Thread geschlossen wird.
SemaphoreDas Handle das von CreateSemaphore oder OpenSemaphore zurückgegeben wurde. Ein Semaphore-Objekt beinhaltet eine Zählung zwischen 0 und einem Maximal-Wert. Sein Zustand ändert sich, wenn die Zählung größer Null ist. Dabei wird der Zähler um 1 erhöht. Der aktuelle Zustand wird nicht signalisiert, wenn der Zähler auf Null steht.

Tabelle 2


Rückgabewerte
WAIT_ABANDONEDDas bezeichnete Objekt ist ein Mutex-Objekt, welches nicht freigegeben wurde als dieser terminiert wurde.
WAIT_OBJECT_0Das angegebene Objekt hat seinen Zustand geändert.
WAIT_TIMEOUTDas Objekt hat innerhalb der angegebenen Zeitspanne seinen Zustand nicht geändert.
WAIT_FAILEDEs liegt ein Fehler vor. Für eine Fehler Beschreibung ist GetLastError oder Err.LastDllError zu verwenden

Tabelle 3


Unterstützte Betriebssysteme
Win32s, Windows 95, Windows 98, Windows NT

Verwandte API-Funktionen
CreateEvent, CreateFile, CreateMutex, CreateProcess, CreateRemoteThread, CreateSemaphore, CreateThread, FindFirstChangeNotification, GetStdHandle, OpenEvent, OpenMutex, OpenProcess, OpenSemaphore, PulseEvent, ResetEvent, SetEvent, Sleep, WaitForMultipleObjects, WaitForSingleObjectEx

Zugehörige Tipps

Zugehörige Microsoft Knowledge Base Artikel