IWiaDevMgr2::GetImageDlg, méthode
La méthode IWiaDevMgr2::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) 2.0 et d’écrire l’image dans un fichier spécifié. Cette méthode étend les fonctionnalités de IWiaDevMgr2::SelectDeviceDlg pour encapsuler l’acquisition d’images dans un seul appel d’API.
Syntaxe
HRESULT GetImageDlg(
[in] LONG lFlags,
[in] BSTR bstrDeviceID,
[in] HWND hwndParent,
[in] BSTR bstrFolderName,
[in] BSTR bstrFilename,
[in] LONG *plNumFiles,
[in] BSTR **ppbstrFilePaths,
[in, out] IWiaItem2 **ppItem
);
Paramètres
-
lFlags [in]
-
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_DEVICE_DIALOG_USE_COMMON_UI Utilisez l’interface utilisateur système au lieu de 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. -
bstrDeviceID [in]
-
Type : BSTR
Spécifie le scanneur à utiliser.
-
hwndParent [in]
-
Type : HWND
Handle de la fenêtre qui possède la boîte de dialogue Obtenir une image .
-
bstrFolderName [in]
-
Type : BSTR
Spécifie le nom du dossier dans lequel les fichiers analysés sont stockés.
-
bstrFilename [in]
-
Type : BSTR
Spécifie le nom du fichier dans lequel écrire les données d’image.
-
plNumFiles [in]
-
Type : LONG*
Pointeur vers le nombre de fichiers à analyser.
-
ppbstrFilePaths [in]
-
Type : BSTR**
Adresse d’un pointeur vers un tableau de chemins pour les fichiers analysés. Initialisez le pointeur pour qu’il pointe vers un tableau de taille zéro (0) avant que IWiaDevMgr2::GetImageDlg soit appelé. Consultez Remarques.
-
ppItem [in, out]
-
Type : IWiaItem2**
Adresse d’un pointeur vers iWiaItem2 à partir duquel les images ont été analysées.
Valeur retournée
Type : HRESULT
IWiaDevMgr2::GetImageDlg retourne S_OK si les données sont transférées correctement, retourne S_FALSE si l’utilisateur annule la boîte de dialogue ou retourne une erreur COM standard.
Notes
Le paramètre ppbstrFilePaths n’est pas nécessairement vide si la fonction retourne S_FALSE. Si l’utilisateur annule, les pages qui ont terminé l’analyse sont traitées et retournées dans ppbstrFilePaths. Même s’ils ne sont pas utilisés, vous devez libérer le tableau. Consultez Remarques.
Notes
Si l’application transmet la valeur NULL pour la valeur du paramètre bstrDeviceID , IWiaDevMgr2::GetImageDlg affiche la boîte de dialogue Sélectionner l’appareil afin que l’utilisateur puisse sélectionner le périphérique d’entrée WIA 2.0.
Utilisez un élément de menu nommé À partir du scanneur dans le menu Fichier afin que les sélections d’appareils et d’images soient disponibles dans votre application.
Appelez SysFreeString sur chaque BSTR du tableau vers lequel pointe ppbstrFilePaths[i] et appelez CoTaskMemFree sur le tableau lui-même pour libérer la mémoire associée. Si S_FALSE est retourné, case activée pour voir si la valeur vers laquelle plNumFiles pointe n’est pas égale à zéro. Si la valeur n’est pas zéro, libérez les ressources ppbstrFilePaths[i] dans l’application, car l’utilisateur peut annuler après l’analyse d’une ou plusieurs pages. Initialisez plNumFiles sur zéro avant d’appeler IWiaDevMgr2::GetImageDlg. Si plNumFiles n’est pas initialisé à zéro et qu’une défaillance dans l’infrastructure COM entraîne le retour de la fonction S_FALSE avant l’appel de IWiaDevMgr2::GetImageDlg , plNumFiles aura une valeur garbage trompeuse.
La boîte de dialogue doit disposer de droits suffisants pour bstrFolderName afin qu’elle puisse enregistrer les fichiers avec des noms de fichiers uniques. Protégez le dossier avec une liste de contrôle d’accès (ACL), car il contient des données utilisateur.
Spécifications
Condition requise | Valeur |
---|---|
Client minimal pris en charge |
Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge |
Windows Server 2008 [applications de bureau uniquement] |
En-tête |
|