Метод IWiaDevMgr2::GetImageDlg
Метод IWiaDevMgr2::GetImageDlg отображает одно или несколько диалоговых окон, которые позволяют пользователю получить изображение с устройства Windows Image Acquisition (WIA) 2.0 и записать его в указанный файл. Этот метод расширяет функциональные возможности IWiaDevMgr2::SelectDeviceDlg для инкапсуляции получения изображений в рамках одного вызова API.
Синтаксис
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
);
Параметры
-
lFlags [in]
-
Тип: LONG
Задает поведение диалогового окна. Можно задать следующие значения:
Flag Значение 0 Поведение по умолчанию. WIA_DEVICE_DIALOG_USE_COMMON_UI Используйте системный пользовательский интерфейс вместо пользовательского интерфейса, предоставленного поставщиком. Если пользовательский интерфейс системы недоступен, используется пользовательский интерфейс поставщика. Если пользовательский интерфейс недоступен, функция возвращает E_NOTIMPL. -
bstrDeviceID [in]
-
Тип: BSTR
Указывает используемый сканер.
-
hwndParent [in]
-
Тип: HWND
Дескриптор окна, которому принадлежит диалоговое окно Получение изображения .
-
bstrFolderName [in]
-
Тип: BSTR
Указывает имя папки, в ней хранятся отсканированные файлы.
-
bstrFilename [in]
-
Тип: BSTR
Указывает имя файла, в который записываются данные изображения.
-
plNumFiles [in]
-
Тип: LONG*
Указатель на количество проверяемых файлов.
-
ppbstrFilePaths [in]
-
Тип: BSTR**
Адрес указателя на массив путей для отсканированных файлов. Инициализируйте указатель так, чтобы он указывал на массив нулевого размера (0) перед вызовом IWiaDevMgr2::GetImageDlg . См. Примечания.
-
ppItem [in, out]
-
Тип: IWiaItem2**
Адрес указателя на IWiaItem2 , с которым были отсканированы изображения.
Возвращаемое значение
Тип: HRESULT
IWiaDevMgr2::GetImageDlg возвращает S_OK, если данные успешно переданы, возвращает S_FALSE, если пользователь отменяет диалоговое окно, или возвращает стандартную ошибку COM.
Примечание
Параметр ppbstrFilePaths не обязательно пуст, если функция возвращает S_FALSE. Если пользователь отменяет, страницы, которые завершили проверку, обрабатываются и возвращаются в ppbstrFilePaths. Даже если они не используются, необходимо освободить массив. См. Примечания.
Комментарии
Если приложение передает значение NULL для параметра bstrDeviceID , IWiaDevMgr2::GetImageDlg отображает диалоговое окно Выбор устройства , чтобы пользователь смог выбрать устройство ввода WIA 2.0.
Используйте пункт меню с именем Из сканера в меню Файл , чтобы в приложении были доступны выбранные устройства и изображения.
Вызовите SysFreeString для каждого BSTR в массиве, на который указывает ppbstrFilePaths[i], и вызовите CoTaskMemFree в самом массиве , чтобы освободить связанную память. Если возвращается S_FALSE, проверка, чтобы узнать, не равно ли значение, на которое указывает plNumFiles. Если значение не равно нулю, освободите ресурсы ppbstrFilePaths[i] в приложении, так как пользователь может отменить ее после сканирования одной или нескольких страниц. Инициализируйте plNumFiles до нуля перед вызовом IWiaDevMgr2::GetImageDlg. Если plNumFiles не инициализирован до нуля и сбой в com-инфраструктуре приводит к тому, что функция возвращает S_FALSE до вызова IWiaDevMgr2::GetImageDlg , то plNumFiles будет иметь вводящее в заблуждение значение мусора.
Диалоговое окно должно иметь достаточные права на bstrFolderName , чтобы оно могло сохранять файлы с уникальными именами файлов. Защитите папку с помощью списка управления доступом (ACL), так как она содержит данные пользователя.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows Vista [только классические приложения] |
Минимальная версия сервера |
Windows Server 2008 [только классические приложения] |
Заголовок |
|