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