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, chiamato quando l'interrupt letto viene completato 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 nuovamente 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 oppure 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.

Osservazioni

Lo scenario di utilizzo tipico per questa funzione è una fotocamera con un pulsante snapshot e una pipe di interrupt 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.

Fabbisogno

Requisito Valore
piattaforma di destinazione Desktop
intestazione usbcamdi.h (include Usbcamdi.h)

Vedere anche

CommandCompleteFunction

USBCAMD_INTERFACE

USBCAMD_InitializeNewInterface