Méthode IWiaMiniDrv ::d rvDeviceCommand (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 status pour cette méthode. Si cette méthode retourne S_OK, la valeur stockée est égale à zéro. Dans le cas contraire, un code d’erreur spécifique au minidriver sera stocké à l’emplacement indiqué par ce paramètre.
__MIDL__IWiaMiniDrv0047
ppWiaDrvItem [out, facultatif]
Pointe vers un emplacement mémoire qui peut recevoir un pointeur vers une interface IWiaDrvItem. Consultez la section Notes ci-dessous.
Valeur retournée
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 pointée par plDevErrVal.
La valeur pointée par plDevErrVal peut être convertie en chaîne en appelant IWiaMiniDrv ::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 vers lequel il pointe. Toutefois, pour certaines commandes, le minidriver place l’adresse d’un élément nouvellement créé à l’emplacement pointé par ce paramètre. Par exemple, si la commande de prise d’une photo est émise (plCommand a la valeur WIA_CMD_TAKE_PICTURE), l’appareil produit une nouvelle image, ce qui amène le minidriver à créer un élément dans l’arborescence des éléments du pilote et définit *ppWiaDrvItem sur 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 permettant de 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.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | wiamindr_lh.h (inclure Wiamindr.h) |