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 WIA (Windows image Acquisition) 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 [ dans]
-
Type : long
Spécifie le comportement de la boîte de dialogue. Peut être défini avec les valeurs suivantes :
Indicateur Signification 0 Comportement par défaut _boîte de dialogue de l’appareil WIA _ _ utiliser _ _ l’interface utilisateur commune Utilisez l’interface utilisateur du 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 [ dans]
-
Type : BSTR
Spécifie le scanneur à utiliser.
-
hwndParent [ dans]
-
Type : HWND
Handle de la fenêtre qui possède la boîte de dialogue obtenir l’image .
-
bstrFolderName [ dans]
-
Type : BSTR
Spécifie le nom du dossier ITO qui stocke les fichiers analysés dans.
-
bstrFilename [ dans]
-
Type : BSTR
Spécifie le nom du fichier dans lequel écrire les données de l’image.
-
plNumFiles [ dans]
-
Type : long *
Pointeur vers le nombre de fichiers à analyser.
-
ppbstrFilePaths [ dans]
-
Type : BSTR * *
Adresse d’un pointeur vers un tableau de chemins d’accès pour les fichiers analysés. Initialisez le pointeur pour pointer vers un tableau de taille zéro (0) avant l’appel de IWiaDevMgr2 :: GetImageDlg . Consultez la section Notes.
-
ppItem [ in, out]
-
Type : IWiaItem2**
Adresse d’un pointeur vers le IWiaItem2 à partir duquel les images ont été analysées.
Valeur de retour
Type : HRESULT
IWiaDevMgr2 :: GetImageDlg retourne s _ OK si les données sont transférées avec succès, retourne _ la valeur 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 dont l’analyse est terminée sont traitées et retournées dans ppbstrFilePaths. Même s’ils ne sont pas utilisés, vous devez libérer le tableau. Consultez la section Notes.
Notes
Si l’application transmet null pour la valeur du paramètre bstrDeviceID , IWiaDevMgr2 :: GetImageDlg affiche la boîte de dialogue Sélectionner un appareil afin que l’utilisateur puisse sélectionner l’appareil d’entrée WIA 2,0.
Utilisez un élément de menu nommé à partir de scanner dans le menu fichier pour que les sélections d’appareil et d’image soient disponibles dans votre application.
Appelez SysFreeString sur chaque BSTR du tableau sur lequel ppbstrFilePaths [ i ] pointe, puis appelez CoTaskMemFree sur le tableau lui-même pour libérer de la mémoire associée. Si S _ false est retourné, vérifiez si la valeur vers laquelle pointe plNumFiles est différente de zéro. Si la valeur n’est pas égale à zéro, libérez les ressources ppbstrFilePaths [ i ] dans l’application, car l’utilisateur peut annuler après avoir analysé 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 S _ false par la fonction avant l’appel de IWiaDevMgr2 :: GetImageDlg , plNumFiles aura une valeur de garbage collector trompeuse.
La boîte de dialogue doit avoir des droits suffisants sur bstrFolderName pour pouvoir enregistrer les fichiers avec des noms de fichiers uniques. Protégez le dossier à l’aide d’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 [Applications de bureau Vista uniquement] |
| Serveur minimal pris en charge |
Windows Serveur 2008 [ applications de bureau uniquement] |
| En-tête |
|