IWiaMiniDrv ::d rvInitializeWia, méthode (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éfini sur 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 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__IWiaMiniDrv0007
ppIDrvItemRoot [out, facultatif]
Pointe vers un emplacement de mémoire qui recevra l’adresse d’un interface IWiaDrvItem, l’interface de l’élément racine.
__MIDL__IWiaMiniDrv0008
ppIUnknownInner [out, optional]
(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 fournit l’accès à cette fonctionnalité.
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
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 wia Minidriver et Création de l’arborescence d’éléments de 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 de scanneur WIA dans Mon ordinateur, l’interpréteur de commandes appelle CreateDevice, ce qui génère un appel à la méthode IWiaMiniDrv ::d rvInitializeWia. 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.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | wiamindr_lh.h (include Wiamindr.h) |
Voir aussi
IWiaMiniDrv ::d rvGetDeviceErrorStr