VideoPortWaitForSingleObject-Funktion (video.h)
Die VideoPortWaitForSingleObject-Funktion versetzt den aktuellen Thread in einen Wartezustand, bis das angegebene Dispatchobjekt auf den signalierten Zustand festgelegt ist, oder (optional), bis das Wartezeitfenster überschritten wird.
Syntax
VIDEOPORT_API VP_STATUS VideoPortWaitForSingleObject(
[in] IN PVOID HwDeviceExtension,
[in] IN PVOID Object,
[in] IN PLARGE_INTEGER Timeout
);
Parameter
[in] HwDeviceExtension
Zeiger auf die Geräteerweiterung des Miniporttreibers.
[in] Object
Zeiger auf das Ereignisobjekt.
[in] Timeout
(Optional) Zeiger auf einen Timeoutwert, der die absolute oder relative Zeit angibt, zu der die Wartezeit abgeschlossen werden soll. Ein negativer Wert gibt ein Wartezeitintervall relativ zur aktuellen Zeit an. Der Wert sollte in Einheiten von 100 Nanosekunden ausgedrückt werden. Absolute Ablaufzeiten nachverfolgen alle Änderungen der Systemzeit; relative Ablaufzeiten werden von Systemzeitänderungen nicht beeinflusst.
Rückgabewert
VideoPortWaitForSingleObject gibt einen der folgenden Werte zurück:
Rückgabecode | Beschreibung |
---|---|
ERROR_INVALID_PARAMETER | Einer der Parameter ist ungültig, oder der Aufruf hat versucht, auf ein zugeordnetes Benutzerereignis zu warten. |
NO_ERROR | Das im pObject-Parameter angegebene Ereignisobjekt hat die Wartezeit erfüllt. |
WAIT_TIMEOUT | Ein Timeout ist aufgetreten, bevor das Ereignisobjekt auf den Signalzustand festgelegt wurde. Dieser Wert kann zurückgegeben werden, wenn der angegebene Satz von Wartebedingungen nicht sofort erfüllt werden kann und timeout auf 0 festgelegt ist. |
Hinweise
Der Miniporttreiber sollte nicht versuchen, auf ein zugeordnetes Benutzerereignis zu warten.
Aufrufer von VideoPortWaitForSingleObject müssen unter IRQL <= DISPATCH_LEVEL ausgeführt werden. Normalerweise wird der Aufrufer unter IRQL = PASSIVE_LEVEL und in einem nichtarbiträren Threadkontext ausgeführt. Ein Aufruf dieser Funktion während der Ausführung unter IRQL = DISPATCH_LEVEL ist nur gültig, wenn der Aufrufer den Timeoutwert 0 angibt. Das heißt, ein Miniporttreiber darf nicht auf ein nonzero-Intervall bei IRQL = DISPATCH_LEVEL warten.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows XP und höheren Versionen der Windows-Betriebssysteme. |
Zielplattform | Desktop |
Kopfzeile | video.h (einschließen von Video.h) |
Bibliothek | Videoprt.lib |
DLL | Videoprt.sys |
IRQL | <= DISPATCH_LEVEL (siehe Abschnitt Hinweise) |