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 |