Partager via


Méthode IWiaDevMgr::SelectDeviceDlg (wia_xp.h)

IWiaDevMgr::SelectDeviceDlg affiche une boîte de dialogue qui permet à l’utilisateur de sélectionner un périphérique matériel pour l’acquisition d’images.

Syntaxe

HRESULT SelectDeviceDlg(
  [in]          HWND     hwndParent,
  [in]          LONG     lDeviceType,
  [in]          LONG     lFlags,
  [in, out]     BSTR     *pbstrDeviceID,
  [out, retval] IWiaItem **ppItemRoot
);

Paramètres

[in] hwndParent

Type : HWND

Handle de la fenêtre qui possède la boîte de dialogue Sélectionner un appareil .

[in] lDeviceType

Type : LONG

Spécifie le type d’appareil WIA à utiliser. Peut être défini sur StiDeviceTypeDefault, StiDeviceTypeScanner ou StiDeviceTypeDigitalCamera.

[in] lFlags

Type : LONG

Spécifie le comportement de la boîte de dialogue. Peut être défini sur l’une des valeurs suivantes :

Constant Signification
0 Utiliser le comportement par défaut.
WIA_SELECT_DEVICE_NODEFAULT Affichez la boîte de dialogue même s’il n’existe qu’un seul appareil correspondant. Pour plus d’informations, consultez la section Remarques de cette page de référence.

[in, out] pbstrDeviceID

Type : BSTR*

À la sortie, reçoit une chaîne qui contient la chaîne d’identificateur de l’appareil. Lors de l’entrée, transmettez l’adresse d’un pointeur si ces informations sont nécessaires, ou NULL si elles ne sont pas nécessaires.

[out, retval] ppItemRoot

Type : IWiaItem**

Reçoit l’adresse d’un pointeur vers l’interface IWiaItem de l’élément racine de l’arborescence qui représente l’appareil WIA sélectionné. Si aucun appareil n’est trouvé, il contient la valeur NULL.

Valeur retournée

Type : HRESULT

Cette méthode retourne les valeurs suivantes :

Valeur renvoyée Signification
S_OK Un appareil a été sélectionné avec succès.
S_FALSE L’utilisateur a annulé la boîte de dialogue.
WIA_S_NO_DEVICE_AVAILABLE Il n’existe aucun périphérique matériel WIA qui correspond aux spécifications fournies dans le paramètre lDeviceType .

Remarques

Cette méthode crée et affiche la boîte de dialogue Sélectionner un appareil afin que l’utilisateur puisse sélectionner un appareil WIA pour l’acquisition d’images. Si un appareil est sélectionné, la méthode IWiaDevMgr::SelectDeviceDlg crée une arborescence hiérarchique d’objets IWiaItem pour l’appareil. Il stocke un pointeur vers l’interface IWiaItem de l’élément racine dans le paramètre ppItemRoot.

Des types d’appareils particuliers peuvent être affichés à l’utilisateur en spécifiant les types d’appareils via le paramètre lDeviceType . Si un seul appareil répond à la spécification, IWiaDevMgr::SelectDeviceDlg n’affiche pas la boîte de dialogue Sélectionner un appareil . Au lieu de cela, il crée l’arborescence IWiaItem pour l’appareil et stocke un pointeur vers l’interface IWiaItem de l’élément racine dans le paramètre ppItemRoot. Vous pouvez remplacer ce comportement et forcer IWiaDevMgr::SelectDeviceDlg à afficher la boîte de dialogue Sélectionner un appareil en transmettant WIA_SELECT_DEVICE_NODEFAULT comme valeur pour le paramètre lFlags .

Si plusieurs appareils WIA correspondent à la spécification, tous les appareils correspondants s’affichent dans la boîte de dialogue Sélectionner un appareil afin que l’utilisateur puisse en choisir un.

Les applications doivent appeler la méthode IUnknown::Release sur les pointeurs d’interface qu’elles reçoivent via le paramètre ppItemRoot .

Il est recommandé aux applications de rendre la sélection de l’appareil et de l’image disponible via un élément de menu nommé À partir du scanneur ou de l’appareil photo dans le menu Fichier .

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel, Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête wia_xp.h (inclure Wia.h)
Bibliothèque Wiaguid.lib
DLL Wiaservc.dll