Condividi tramite


PFNUSBCAMD_WaitOnDeviceEvent funzione di callback (usbcamdi.h)

Il servizio USBCAMD_WaitOnDeviceEvent viene usato per eseguire una lettura dalla pipe di interrupt se la fotocamera ha una pipe di interrupt per le notifiche degli eventi esterni.

Sintassi

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
)
{...}

Parametri

[in] DeviceContext

Puntatore al contesto specifico del dispositivo.

[in] PipeIndex

Specifica l'indice della pipe di interrupt.

[in] Buffer

Puntatore al buffer di lettura.

[in] BufferLength

Lunghezza del buffer di lettura, in byte.

[in] EventComplete

Puntatore a un minidriver della fotocamera definito CommandCompleteFunction, che viene chiamato quando viene completata la lettura dell'interrupt Questo valore può essere NULL.

[in] EventContext

Puntatore a un blocco di memoria, passato come argomento al minidriver della fotocamera definito CommandCompleteFunction.

[in] LoopBack

Specifica se USBCAMD deve inviare di nuovo un'altra richiesta di lettura alla pipe di interrupt ogni volta che viene completata una lettura di interrupt. Impostare su TRUE

Valore restituito

USBCAMD_WaitOnDeviceEvent restituisce STATUS_SUCCESS se la chiamata ha avuto esito positivo. Altri codici di errore possibili includono:

Codice restituito Descrizione
STATUS_FILE_CLOSED Il dispositivo è stato rimosso.
STATUS_INVALID_PARAMETER USBCAMD può restituire STATUS_INVALID_PARAMETER per diversi motivi, tra cui: il valore passato nell'argomento PipeIndex non è valido, il tipo della pipe specificata dall'argomento PipeIndex rappresenta un tipo non valido di pipe, una richiesta di lettura/scrittura bulk già esistente o l'argomento Buffer è NULL. La lunghezza specificata nell'argomento BufferLength è inferiore alla dimensione massima del pacchetto.
STATUS_PENDING L'elemento di lavoro dell'evento viene posticipato.
STATUS_INSUFFICIENT_RESOURCES Risorse insufficienti per allocare un elemento di lavoro da leggere dalla pipe.

Commenti

Lo scenario di utilizzo tipico per questa funzione è una fotocamera con un pulsante snapshot e una pipe di interruzione associata al pulsante. Quando un utente preme il pulsante snapshot, la richiesta di lettura sulla pipe di interrupt viene soddisfatta e viene richiamato il minidriver della fotocamera. Se il minidriver della fotocamera imposta USBCAMD_CamControlFlag_EnableDeviceEvents nell'argomento CamControlFlag durante la chiamata USBCAMD_InitializeNewInterface , il monitoraggio STI riceverà anche una notifica dell'evento snapshot.

USBCAMD_WaitOnDeviceEvent non è disponibile in USBCAMD versione 1.0.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione usbcamdi.h (include Usbcamdi.h)

Vedi anche

CommandCompleteFunction

USBCAMD_INTERFACE

USBCAMD_InitializeNewInterface