Partager via


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

IWiaDrvItem ::AddItemToFolder

IWiaMiniDrv

IWiaMiniDrv ::d rvGetDeviceErrorStr

IWiaMiniDrv ::d rvUnInitializeWia

wiasCreateDrvItem