WaitForSingleObject
von ActiveVB-Team
Deklaration
Declare Function WaitForSingleObject Lib "kernel32" ( _ ByVal hHandle As Long, _ ByVal dwMilliseconds As Long) As LongWeitere 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 Long | Bezeichnet das Objekt. Eine Liste der für dieses Funktion verwendbaren Objekte finden sie hier . Unter Windows NT muß das Handle SYNCHRONIZE Rechte besitzen. |
dwMilliseconds | Setzt 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 notification | Das 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 input | Das 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. |
Event | Das 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. |
Mutex | Das 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. |
Process | Das Handle das von CreateProcess, CreateThread oder CreateRemoteThread zurückgegeben wurde. Ein Process-Objekt ändert seinen Zustand, wenn der Prozeß geschlossen wird. |
Process | Das Handle das von CreateProcess oder OpenProcess zurückgegeben wurde. Ein Thread-Objekt ändert seinen Zustand, wenn der Thread geschlossen wird. |
Semaphore | Das 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_ABANDONED | Das bezeichnete Objekt ist ein Mutex-Objekt, welches nicht freigegeben wurde als dieser terminiert wurde. |
WAIT_OBJECT_0 | Das angegebene Objekt hat seinen Zustand geändert. |
WAIT_TIMEOUT | Das Objekt hat innerhalb der angegebenen Zeitspanne seinen Zustand nicht geändert. |
WAIT_FAILED | Es 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