Partager via


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

IWiaDrvItem ::AddItemToFolder

IWiaMiniDrv

IWiaMiniDrv ::d rvGetDeviceErrorStr

IWiaMiniDrv ::d rvUnInitializeWia

wiasCreateDrvItem