PFNUSBCAMD_BulkReadWrite fonction de rappel (usbcamdi.h)
Le service USBCAMD_BulkReadWrite effectue une opération de lecture ou d’écriture sur le canal en bloc spécifié.
Syntaxe
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
)
{...}
Paramètres
[in] DeviceContext
Pointeur vers le contexte d’appareil du minidriver de l’appareil photo.
[in] PipeIndex
Spécifie l’index du canal en bloc.
[in] Buffer
Pointeur vers la mémoire tampon de lecture ou d’écriture. Si ce paramètre a la valeur NULL pour une demande de lecture, USBCAMD extrait un SRB de données à partir de la file d’attente de lecture SRB du flux associé à ce canal. Les demandes d’écriture avec un pointeur de mémoire tampon NULL ne sont autorisées sur la broche fixe que si une demande de SRB_WRITE_DATA a été envoyée à la broche fixe.
[in] BufferLength
Spécifie la longueur de la mémoire tampon de lecture/écriture en octets.
[in] CommandComplete
Pointeur vers un minidriver d’appareil photo défini par CommandCompleteFunction, qui est appelé lorsque la lecture ou l’écriture en bloc est terminée. Cette valeur peut être NULL.
[in] CommandContext
Pointeur vers un bloc de mémoire, qui est passé en tant qu’argument au minidriver de l’appareil photo défini par CommandCompleteFunction.
Valeur retournée
USBCAMD_BulkReadWrite retourne STATUS_SUCCESS si l’appel a réussi. Voici d’autres codes d’erreur possibles :
Code de retour | Description |
---|---|
STATUS_FILE_CLOSED | Le périphérique a été déconnecté. |
STATUS_INVALID_PARAMETER | USBCAMD peut retourner STATUS_INVALID_PARAMETER pour plusieurs raisons, notamment : La valeur transmise dans l’argument PipeIndex n’est pas valide. Le type du canal spécifié par l’argument PipeIndex représente un type de canal non valide. Une demande en lecture/écriture en bloc existe déjà. L’argument Buffer a la valeur NULL. |
STATUS_INSUFFICIENT_RESOURCES | Les ressources sont insuffisantes pour planifier un transfert. |
Remarques
USBCAMD peut accepter une demande de lecture et d’écriture à la fois.
USBCAMD_BulkReadWrite n’est pas disponible dans USBCAMD version 1.0.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | usbcamdi.h (inclure Usbcamdi.h) |