Partager via


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)

Voir aussi

CommandCompleteFunction

USBCAMD_INTERFACE