PFNUSBCAMD_WaitOnDeviceEvent Rückruffunktion (usbcamdi.h)
Der USBCAMD_WaitOnDeviceEvent-Dienst wird verwendet, um einen Lesevorgang aus der Interruptpipe auszuführen, wenn die Kamera über eine Interruptpipe für externe Ereignisbenachrichtigungen verfügt.
Syntax
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
)
{...}
Parameter
[in] DeviceContext
Ein Zeiger auf den gerätespezifischen Kontext.
[in] PipeIndex
Gibt den Index der Interruptpipe an.
[in] Buffer
Ein Zeiger auf den Lesepuffer.
[in] BufferLength
Länge des Lesepuffers in Bytes.
[in] EventComplete
Zeiger auf einen kameraminidriver-definierten BefehlCompleteFunction, der aufgerufen wird, wenn der Interruptlesevorgang abgeschlossen ist. Dieser Wert kann NULL sein.
[in] EventContext
Zeiger auf einen Speicherblock, der als Argument an den kameraminidriver-Definierten CommandCompleteFunction übergeben wird.
[in] LoopBack
Gibt an, ob USBCAMD bei jedem Abschluss eines Interruptlesevorgangs eine weitere Leseanforderung erneut an die Interruptpipe übermitteln soll. Auf TRUE festlegen
Rückgabewert
USBCAMD_WaitOnDeviceEvent gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich war. Weitere mögliche Fehlercodes sind:
Rückgabecode | Beschreibung |
---|---|
STATUS_FILE_CLOSED | Das Gerät wurde entfernt. |
STATUS_INVALID_PARAMETER | USBCAMD kann STATUS_INVALID_PARAMETER aus einer Reihe von Gründen zurückgeben, z. B.: Der im PipeIndex-Argument übergebene Wert ist ungültig, der vom PipeIndex-Argument angegebene Pipetyp stellt einen ungültigen Pipetyp dar, eine Massenlese-/Schreibanforderung ist bereits vorhanden oder das Buffer-Argument ist NULL. Die im BufferLength-Argument angegebene Länge ist kleiner als die maximale Paketgröße. |
STATUS_PENDING | Das Ereignisarbeitselement wird zurückgestellt. |
STATUS_INSUFFICIENT_RESOURCES | Es sind nicht genügend Ressourcen vorhanden, um ein Arbeitselement zuzuweisen, das aus der Pipe gelesen werden kann. |
Hinweise
Das typische Verwendungsszenario für diese Funktion ist eine Kamera mit einer Momentaufnahme-Taste und einer Interruptpipe, die der Schaltfläche zugeordnet ist. Wenn ein Benutzer die schaltfläche Momentaufnahme drückt, wird die Leseanforderung für die Interruptpipe erfüllt, und der Kamera-Minidriver wird zurückgerufen. Wenn der Kameraminidriver während des USBCAMD_InitializeNewInterface Aufrufs USBCAMD_CamControlFlag_EnableDeviceEvents im Argument CamControlFlag festlegt, wird der STI-Monitor auch über das Momentaufnahme-Ereignis benachrichtigt.
USBCAMD_WaitOnDeviceEvent ist in USBCAMD Version 1.0 nicht verfügbar.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | usbcamdi.h (einschließlich Usbcamdi.h) |