Condividi tramite


PFNUSBCAMD_BulkReadWrite funzione di callback (usbcamdi.h)

Il servizio USBCAMD_BulkReadWrite esegue un'operazione di lettura o scrittura nella 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 dati SRB dalla coda di lettura SRB del flusso associato a questa pipe. Le richieste di scrittura con un puntatore del buffer NULL sono consentite solo sul pin ancora se una richiesta di SRB_WRITE_DATA è stata inviata al pin ancora.

[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 bulk o la scrittura. 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 Esistono risorse insufficienti per pianificare un trasferimento.

Commenti

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

USBCAMD_BulkReadWrite non è disponibile in USBCAMD versione 1.0.

Requisiti

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

Vedi anche

CommandCompleteFunction

USBCAMD_INTERFACE