Partager via


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

La méthode IWiaDevMgr ::GetImageDlg affiche une ou plusieurs boîtes de dialogue qui permettent à un utilisateur d’acquérir une image à partir d’un appareil d’acquisition d’images Windows (WIA) et d’écrire l’image dans un fichier spécifié. Cette méthode combine les fonctionnalités d’IWiaDevMgr ::SelectDeviceDlg pour encapsuler complètement l’acquisition d’images dans un seul appel d’API.

Syntaxe

HRESULT GetImageDlg(
  [in]      HWND     hwndParent,
  [in]      LONG     lDeviceType,
  [in]      LONG     lFlags,
  [in]      LONG     lIntent,
  [in]      IWiaItem *pItemRoot,
  [in]      BSTR     bstrFilename,
  [in, out] GUID     *pguidFormat
);

Paramètres

[in] hwndParent

Type : HWND

Handle de la fenêtre qui possède la boîte de dialogue Obtenir une image .

[in] lDeviceType

Type : LONG

Spécifie le type d’appareil WIA à utiliser. Est 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 les valeurs suivantes :

Indicateur Signification
0 Comportement par défaut
WIA_SELECT_DEVICE_NODEFAULT Forcez cette méthode à afficher la boîte de dialogue Sélectionner un appareil . Pour plus d’informations, consultez la section Remarques de cette page de référence.
WIA_DEVICE_DIALOG_SINGLE_IMAGE Limitez la sélection d’images à une seule image dans la boîte de dialogue d’acquisition d’image d’appareil.
WIA_DEVICE_DIALOG_USE_COMMON_UI Utilisez l’interface utilisateur système, si disponible, plutôt que l’interface utilisateur fournie par le fournisseur. Si l’interface utilisateur système n’est pas disponible, l’interface utilisateur du fournisseur est utilisée. Si aucune interface utilisateur n’est disponible, la fonction retourne E_NOTIMPL.

[in] lIntent

Type : LONG

Spécifie le type de données que l’image est destinée à représenter. Pour obtenir la liste des valeurs d’intention d’image, consultez Constantes d’intention d’image.

[in] pItemRoot

Type : IWiaItem*

Pointeur vers l’interface de l’arborescence hiérarchique des objets IWiaItem retournés par IWiaDevMgr ::CreateDevice.

[in] bstrFilename

Type : BSTR

Spécifie le nom du fichier dans lequel les données d’image sont écrites.

[in, out] pguidFormat

Type : GUID*

En entrée, contient un pointeur vers un GUID qui spécifie le format à utiliser. Dans la sortie, contient le format utilisé. Passez IID_NULL pour utiliser le format par défaut.

Valeur retournée

Type : HRESULT

IWiaDevMgr ::GetImageDlg retourne S_FALSE si l’utilisateur annule les boîtes de dialogue de sélection d’appareil ou d’acquisition d’images, WIA_S_NO_DEVICE_AVAILABLE si aucun appareil WIA n’est actuellement disponible, E_NOTIMPL si aucune interface utilisateur n’est disponible et S_OK si les données sont transférées avec succès.

IWiaDevMgr ::GetImageDlg retourne une valeur spécifiée dans Codes d’erreur, ou une erreur COM standard si elle échoue pour une raison autre que celles spécifiées.

Remarques

L’appel de cette méthode affiche une boîte de dialogue qui permet aux utilisateurs d’acquérir des images. Il peut également afficher la boîte de dialogue Sélectionner un appareil créée par la méthode IWiaDevMgr ::SelectDeviceDlg .

Si l’application transmet null pour la valeur du paramètre pItemRoot , IWiaDevMgr ::GetImageDlg affiche la boîte de dialogue Sélectionner un appareil qui permet à l’utilisateur de sélectionner l’appareil d’entrée WIA. Si l’application spécifie un périphérique d’entrée WIA en passant un pointeur vers l’arborescence des éléments de l’appareil via le paramètre pItemRoot , IWiaDevMgr ::GetImageDlg n’affiche pas la boîte de dialogue Sélectionner un appareil . Au lieu de cela, il utilise le périphérique d’entrée spécifié pour acquérir l’image.

Lors de l’utilisation de la boîte de dialogue Sélectionner un appareil , les applications peuvent spécifier des types d’appareils d’entrée WIA. Pour ce faire, ils doivent définir le paramètre pItemRoot sur NULL et passer les constantes appropriées via le paramètre lDeviceType . Si plusieurs appareils du type spécifié sont présents, IWiaDevMgr ::GetImageDlg affiche la boîte de dialogue Sélectionner un appareil pour permettre à l’utilisateur de sélectionner l’appareil à utiliser.

Si IWiaDevMgr ::GetImageDlg ne trouve qu’un seul appareil correspondant, il n’affiche pas la boîte de dialogue Sélectionner un appareil . Au lieu de cela, il sélectionnera l’appareil correspondant. Vous pouvez remplacer ce comportement et forcer IWiaDevMgr ::GetImageDlg à afficher la boîte de dialogue Sélectionner un appareil en passant WIA_SELECT_DEVICE_NODEFAULT comme valeur pour le paramètre lFlags .

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 .

La boîte de dialogue doit disposer de droits suffisants sur le dossier pour bstrFilename pour qu’elle puisse enregistrer le fichier avec un nom de fichier unique. Le dossier doit également être protégé avec une liste de contrôle d’accès (ACL), car il contient des données utilisateur.

Configuration requise

Condition requise Valeur
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