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 de l’appareil photo minidriver.

[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 est défini sur NULL pour une demande de lecture, USBCAMD extrait une SRB de données à partir de la file d’attente de lecture SRB du flux associé à ce canal. Les requêtes d’écriture avec un pointeur de mémoire tampon NULL sont autorisées uniquement sur la broche fixe si une demande de SRB_WRITE_DATA a été envoyée à l’épingle toujours.

[in] BufferLength

Spécifie la longueur de la mémoire tampon en lecture/écriture en octets.

[in] CommandComplete

Pointeur vers un minidriver photo défini CommandCompleteFunction, qui est appelé lorsque la lecture en bloc ou l’écriture est terminée. Cette valeur peut être NULL.

[in] CommandContext

Pointeur vers un bloc de mémoire, passé en tant qu’argument au minidriver de la caméra définie CommandCompleteFunction.

Valeur de retour

USBCAMD_BulkReadWrite retourne STATUS_SUCCESS si l’appel a réussi. Voici d’autres codes d’erreur possibles :

Retourner le code Description
STATUS_FILE_CLOSED L’appareil a été supprimé.
STATUS_INVALID_PARAMETER USBCAMD peut retourner STATUS_INVALID_PARAMETER pour plusieurs raisons, notamment :

La valeur passée 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 tampon est NULL.
STATUS_INSUFFICIENT_RESOURCES Il existe des ressources 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.

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête usbcamdi.h (include Usbcamdi.h)

Voir aussi

CommandCompleteFunction

USBCAMD_INTERFACE