Condividi tramite


PFNUSBCAMD_BulkReadWrite funzione di callback (usbcamdi.h)

Il servizio USBCAMD_BulkReadWrite esegue un'operazione di lettura o scrittura sulla pipe bulk specificata.

Sintassi

PFNUSBCAMD_BulkReadWrite PfnusbcamdBulkreadwrite;

NTSTATUS PfnusbcamdBulkreadwrite(
  [in] PVOID DeviceContext,
  [in] USHORT PipeIndex,
  [in] PVOID Buffer,
  [in] ULONG BufferLength,
  [in] PCOMMAND_COMPLETE_FUNCTION CommandComplete,
  [in] PVOID CommandContext
)
{...}

Parametri

[in] DeviceContext

Puntatore al contesto del dispositivo del minidriver della fotocamera.

[in] PipeIndex

Specifica l'indice della pipe bulk.

[in] Buffer

Puntatore al buffer di lettura o scrittura. Se questo parametro è impostato su NULL per una richiesta di lettura, USBCAMD esegue il pull di un SRB dei dati dalla coda di lettura SRB del flusso associato a questa pipe. Le richieste di scrittura con un NULL puntatore al buffer sono consentite solo sul pin se una richiesta di SRB_WRITE_DATA è stata inviata al pin.

[in] BufferLength

Specifica la lunghezza del buffer di lettura/scrittura in byte.

[in] CommandComplete

Puntatore a un minidriver della fotocamera definito CommandCompleteFunction, che viene chiamato quando viene completata la lettura o la scrittura bulk. Questo valore può essere NULL.

[in] CommandContext

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

Valore restituito

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

Esiste già una richiesta di lettura/scrittura bulk. L'argomento buffer è NULL.
STATUS_INSUFFICIENT_RESOURCES Ci sono risorse insufficienti per pianificare un trasferimento.

Osservazioni

USBCAMD può accettare una sola lettura e una richiesta di scrittura alla volta.

USBCAMD_BulkReadWrite 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