Méthode IWiaMiniDrv ::d rvInitializeWia (wiamindr_lh.h)
La méthode IWiaMiniDrv ::d rvInitializeWia initialise le minidriver et génère l’arborescence d’éléments de pilote représentant l’appareil.
Syntaxe
HRESULT drvInitializeWia(
BYTE *__MIDL__IWiaMiniDrv0000,
LONG __MIDL__IWiaMiniDrv0001,
BSTR __MIDL__IWiaMiniDrv0002,
BSTR __MIDL__IWiaMiniDrv0003,
IUnknown *__MIDL__IWiaMiniDrv0004,
IUnknown *__MIDL__IWiaMiniDrv0005,
IWiaDrvItem **__MIDL__IWiaMiniDrv0006,
IUnknown **__MIDL__IWiaMiniDrv0007,
LONG *__MIDL__IWiaMiniDrv0008
);
Paramètres
__MIDL__IWiaMiniDrv0000
bstrDeviceID [in]
Spécifie une chaîne contenant l’identificateur unique de l’appareil.
__MIDL__IWiaMiniDrv0001
bstrRootFullItemName [in]
Spécifie une chaîne contenant le nom complet de l’élément racine.
__MIDL__IWiaMiniDrv0002
lFlags [in]
Réservé. Définit la valeur zéro.
__MIDL__IWiaMiniDrv0003
pIUnknownOuter [in, facultatif]
(Facultatif) Pointe vers un emplacement de mémoire qui peut recevoir l’adresse d’une interface IUnknown .
__MIDL__IWiaMiniDrv0004
pStiDevice [in, facultatif]
Pointe vers une interface COM IStiDevice.
__MIDL__IWiaMiniDrv0005
pWiasContext [in]
Pointeur vers un contexte d’élément WIA.
__MIDL__IWiaMiniDrv0006
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__IWiaMiniDrv0007
ppIDrvItemRoot [out, facultatif]
Pointe vers un emplacement de mémoire qui recevra l’adresse d’une interface IWiaDrvItem, l’interface de l’élément racine.
__MIDL__IWiaMiniDrv0008
ppIUnknownInner [out, facultatif]
(Facultatif) Pointe vers un emplacement de mémoire qui peut recevoir l’adresse d’une interface IUnknown . Si le minidriver a des fonctionnalités qui ne sont pas accessibles via l’interface IWiaMiniDrv , le fournisseur peut créer une interface distincte sur le minidriver. Ce paramètre permet d’accéder à cette fonctionnalité.
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
Cette méthode doit initialiser toutes les structures privées et créer l’arborescence d’éléments de pilote. Pour plus d’informations sur les étapes que les minidrivers effectuent généralement dans cette méthode, consultez Initialisation du minidriver WIA et Création de l’arborescence d’éléments du pilote WIA.
Le service WIA appelle la méthode IWiaMiniDrv ::d rvInitializeWia en réponse à l’appel d’un client à la fonction CreateDevice , ce qui signifie que cette méthode est appelée une fois pour chaque nouvelle connexion cliente.
Par exemple, si l’utilisateur clique avec le bouton droit sur une icône du scanneur WIA dans Poste de travail, l’interpréteur de commande appelle CreateDevice, ce qui génère un appel à la méthode IWiaMiniDrv ::d rvInitializeWia du minidriver. Si l’utilisateur exécute ensuite l’Assistant Acquisition WIA, il appelle également CreateDevice. Chaque fois que CreateDevice est appelé, il existe un appel correspondant à la méthode IWiaMiniDrv ::d rvInitializeWia sur le minidriver.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | wiamindr_lh.h (inclure Wiamindr.h) |
Voir aussi
IWiaMiniDrv ::d rvGetDeviceErrorStr