Partager via


PFNUSBCAMD_WaitOnDeviceEvent fonction de rappel (usbcamdi.h)

Le service USBCAMD_WaitOnDeviceEvent est utilisé pour effectuer une lecture à partir du canal d’interruption si la caméra dispose d’un canal d’interruption pour les notifications d’événements externes.

Syntaxe

PFNUSBCAMD_WaitOnDeviceEvent PfnusbcamdWaitondeviceevent;

NTSTATUS PfnusbcamdWaitondeviceevent(
  [in] PVOID DeviceContext,
  [in] ULONG PipeIndex,
  [in] PVOID Buffer,
  [in] ULONG BufferLength,
  [in] PCOMMAND_COMPLETE_FUNCTION EventComplete,
  [in] PVOID EventContext,
  [in] BOOLEAN LoopBack
)
{...}

Paramètres

[in] DeviceContext

Pointeur vers un contexte spécifique à l’appareil.

[in] PipeIndex

Spécifie l’index du canal d’interruption.

[in] Buffer

Pointeur vers la mémoire tampon de lecture.

[in] BufferLength

Longueur de la mémoire tampon de lecture, en octets.

[in] EventComplete

Pointeur vers un minidriver de caméra défini CommandCompleteFunction, qui est appelé lorsque la lecture d’interruption est terminée Cette valeur peut être NULL.

[in] EventContext

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

[in] LoopBack

Spécifie si USBCAMD doit renvoyer une autre demande de lecture au canal d’interruption chaque fois qu’une lecture d’interruption est terminée. Défini sur TRUE

Valeur de retour

USBCAMD_WaitOnDeviceEvent 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 requête en lecture/écriture en bloc existe déjà ou l’argument Buffer est NULL. La longueur spécifiée dans l’argument BufferLength est inférieure à la taille maximale du paquet.
STATUS_PENDING L’élément de travail d’événement est différé.
STATUS_INSUFFICIENT_RESOURCES Il existe des ressources insuffisantes pour allouer un élément de travail à lire à partir du canal.

Remarques

Le scénario d’utilisation classique de cette fonction est une caméra avec un bouton d’instantané et un canal d’interruption associé au bouton. Lorsqu’un utilisateur appuie sur le bouton d’instantané, la demande de lecture sur le canal d’interruption est satisfaite et le minidriver de la caméra est rappelé. Si le minidriver de caméra définit USBCAMD_CamControlFlag_EnableDeviceEvents dans l’argument CamControlFlag pendant l’appel USBCAMD_InitializeNewInterface, le moniteur STI est également averti de l’événement d’instantané.

USBCAMD_WaitOnDeviceEvent 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

USBCAMD_InitializeNewInterface