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