PFNUSBCAMD_WaitOnDeviceEvent Rückruffunktion (usbcamdi.h)
Der USBCAMD_WaitOnDeviceEvent-Dienst wird verwendet, um einen Lesevorgang aus der Unterbrechungspipeline durchzuführen, wenn die Kamera über eine Unterbrechungspipeline für externe Ereignisbenachrichtigungen verfügt.
PFNUSBCAMD_WaitOnDeviceEvent PfnusbcamdWaitondeviceevent;
NTSTATUS PfnusbcamdWaitondeviceevent(
[in] PVOID DeviceContext,
[in] ULONG PipeIndex,
[in] PVOID Buffer,
[in] ULONG BufferLength,
[in] PCOMMAND_COMPLETE_FUNCTION EventComplete,
[in] PVOID EventContext,
[in] BOOLEAN LoopBack
)
{...}
[in] DeviceContext
Ein Zeiger auf gerätespezifischen Kontext.
[in] PipeIndex
Gibt den Index der Unterbrechungspipeline an.
[in] Buffer
Ein Zeiger auf den Lesepuffer.
[in] BufferLength
Länge des Lesepuffers in Bytes.
[in] EventComplete
Zeiger auf einen Kamera minidriver definiert CommandCompleteFunction, der aufgerufen wird, wenn der Interrupt-Lesevorgang abgeschlossen ist. Dieser Wert kann NULL-sein.
[in] EventContext
Zeiger auf einen Speicherblock, der als Argument an den Kamera-Minidriver übergeben wird, der CommandCompleteFunctiondefiniert ist.
[in] LoopBack
Gibt an, ob USBCAMD eine weitere Leseanforderung an die Interruptpipe übermitteln soll, wenn ein Interrupt-Lesevorgang abgeschlossen ist. Auf TRUE- festlegen
USBCAMD_WaitOnDeviceEvent gibt STATUS_SUCCESS zurück, wenn der Anruf erfolgreich war. Weitere mögliche Fehlercodes sind:
Rückgabecode | Beschreibung |
---|---|
STATUS_FILE_CLOSED | Das Gerät wurde entfernt. |
STATUS_INVALID_PARAMETER | USBCAMD kann aus einer Reihe von Gründen STATUS_INVALID_PARAMETER zurückgeben, einschließlich: Der im PipeIndex Argument übergebene Wert ist ungültig, der Typ der durch das Argument PipeIndex Argument angegebenen PipeIndex stellt einen ungültigen Typ von Pipe dar, eine Massenlese-/Schreibanforderung ist bereits vorhanden, oder das Argument Buffer ist NULL. Die im Argument BufferLength angegebene Länge ist kleiner als die maximale Paketgröße. |
STATUS_PENDING | Die Ereignisarbeitsaufgabe wird zurückgestellt. |
STATUS_INSUFFICIENT_RESOURCES | Es sind unzureichende Ressourcen vorhanden, um eine Arbeitsaufgabe zum Lesen aus der Pipe zuzuweisen. |
Das typische Verwendungsszenario für diese Funktion ist eine Kamera mit einer Momentaufnahmeschaltfläche und einer Unterbrechungspipeline, die der Schaltfläche zugeordnet ist. Wenn ein Benutzer die Schaltfläche "Momentaufnahme" drückt, ist die Leseanforderung für das Unterbrechungsrohr zufrieden, und der Kamera-Minidriver wird zurückgerufen. Wenn der Kamera-Minidriver USBCAMD_CamControlFlag_EnableDeviceEvents im CamControlFlag Argument während des USBCAMD_InitializeNewInterface Aufrufs festlegt, wird der STI-Monitor auch über das Snapshot-Ereignis benachrichtigt.
USBCAMD_WaitOnDeviceEvent ist in USBCAMD Version 1.0 nicht verfügbar.
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | usbcamdi.h (include Usbcamdi.h) |