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)

Weitere Informationen

CommandCompleteFunction

USBCAMD_INTERFACE

USBCAMD_InitializeNewInterface