Partager via


IWiaMiniDrv ::d rvDeviceCommand, méthode (wiamindr_lh.h)

La méthode IWiaMiniDrv ::d rvDeviceCommand émet une commande sur un appareil WIA.

Syntaxe

HRESULT drvDeviceCommand(
  BYTE        *__MIDL__IWiaMiniDrv0043,
  LONG        __MIDL__IWiaMiniDrv0044,
  const GUID  *__MIDL__IWiaMiniDrv0045,
  IWiaDrvItem **__MIDL__IWiaMiniDrv0046,
  LONG        *__MIDL__IWiaMiniDrv0047
);

Paramètres

__MIDL__IWiaMiniDrv0043

lFlags [in]

Réservé.

__MIDL__IWiaMiniDrv0044

pWiasContext [in]

Pointeur vers un contexte d’élément WIA.

__MIDL__IWiaMiniDrv0045

plCommand [in]

Pointe vers un GUID de commande WIA.

__MIDL__IWiaMiniDrv0046

plDevErrVal [out]

Pointe vers un emplacement de mémoire qui recevra un code d’état pour cette méthode. Si cette méthode retourne S_OK, la valeur stockée est égale à zéro. Sinon, un code d’erreur spécifique au minidriver est stocké à l’emplacement vers lequel pointe ce paramètre.

__MIDL__IWiaMiniDrv0047

ppWiaDrvItem [out, facultatif]

Pointe vers un emplacement de mémoire qui peut recevoir un pointeur vers un interface IWiaDrvItem. Consultez les remarques ci-dessous.

Valeur de retour

En cas de réussite, la méthode doit retourner S_OK et effacer la valeur d’erreur de l’appareil pointée par plDevErrVal. Si la méthode échoue, elle doit retourner un code d’erreur COM standard et placer une valeur de code d’erreur spécifique au minidriver dans la mémoire vers laquelle pointe plDevErrVal.

La valeur pointée par plDevErrVal peut être convertie en chaîne en appelant IWiaMiniDrv ::d rv ::d rvGetDeviceErrorStr.

Remarques

La méthode IWiaMiniDrv ::d rvDeviceCommand est appelée par le service WIA pour émettre un service WIA ou une commande générée par l’application sur l’appareil. Le service WIA appelle uniquement la méthode IWiaMiniDrv ::d rvDeviceCommand pour une commande que l’appareil peut prendre en charge dans la méthode IWiaMiniDrv ::d rvGetCapabilities.

Le paramètre ppWiaDrvItem doit être considéré comme facultatif, car le minidriver ne définit normalement pas l’emplacement de mémoire auquel il pointe. Toutefois, pour certaines commandes, le minidriver place l’adresse d’un élément nouvellement créé à l’emplacement vers lequel pointe ce paramètre. Par exemple, si la commande à prendre une photo est émise (plCommand est définie sur WIA_CMD_TAKE_PICTURE), l’appareil produit une nouvelle image, ce qui entraîne la création d’un élément dans l’arborescence des éléments du pilote et définit *ppWiaDrvItem l’adresse du nouvel élément. Cela informe le service WIA qu’un nouvel élément a été créé.

Le minidriver peut inclure une liste de commandes personnalisées que l’appareil peut prendre en charge dans la méthode IWiaMiniDrv ::d rvGetCapabilities.

Le service WIA n’écrit aucune propriété avant d’appeler cette méthode. Si la commande s’appuie sur les paramètres de propriété, le minidriver doit appeler IWiaMiniDrv ::d rvWriteItemProperties avant d’émettre la commande. Par exemple, la commande à prendre une photo, WIA_CMD_TAKE_PICTURE, peut s’appuyer sur les paramètres de vitesse d’obturation et d’ouverture, qui doivent être écrits sur l’appareil avant l’émission de la commande.

Exigences

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

Voir aussi

IWiaMiniDrv

IWiaMiniDrv ::d rvGetCapabilities

IWiaMiniDrv ::d rvWriteItemProperties