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.

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 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

Rückgabewert

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.

Bemerkungen

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.

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- usbcamdi.h (include Usbcamdi.h)

Siehe auch

CommandCompleteFunction-

USBCAMD_INTERFACE

USBCAMD_InitializeNewInterface