Метод IWiaDevMgr::SelectDeviceDlg (wia_xp.h)
В IWiaDevMgr::SelectDeviceDlg отображается диалоговое окно, позволяющее пользователю выбрать аппаратное устройство для получения образа.
Синтаксис
HRESULT SelectDeviceDlg(
[in] HWND hwndParent,
[in] LONG lDeviceType,
[in] LONG lFlags,
[in, out] BSTR *pbstrDeviceID,
[out, retval] IWiaItem **ppItemRoot
);
Параметры
[in] hwndParent
Тип: HWND
Дескриптор окна, которому принадлежит диалоговое окно Выбор устройства .
[in] lDeviceType
Тип: LONG
Указывает тип используемого устройства WIA. Можно задать для StiDeviceTypeDefault, StiDeviceTypeScanner или StiDeviceTypeDigitalCamera.
[in] lFlags
Тип: LONG
Задает поведение диалогового окна. Можно задать любое из следующих значений:
Константа | Значение |
---|---|
0 | Использовать поведение по умолчанию. |
WIA_SELECT_DEVICE_NODEFAULT | Отображение диалогового окна, даже если имеется только одно соответствующее устройство. Дополнительные сведения см. в разделе Примечания этой справочной страницы. |
[in, out] pbstrDeviceID
Тип: BSTR*
В выходных данных получает строку, содержащую строку идентификатора устройства. При входе передайте адрес указателя, если эти сведения необходимы, или NULL , если они не нужны.
[out, retval] ppItemRoot
Тип: IWiaItem**
Получает адрес указателя на интерфейс IWiaItem корневого элемента дерева, представляющего выбранное устройство WIA. Если устройства не найдены, оно содержит значение NULL.
Возвращаемое значение
Тип: HRESULT
Этот метод возвращает следующие значения:
Возвращаемое значение | Значение |
---|---|
S_OK | Устройство успешно выбрано. |
S_FALSE | Пользователь отменил диалоговое окно. |
WIA_S_NO_DEVICE_AVAILABLE | Нет аппаратных устройств WIA, соответствующих спецификациям, указанным в параметре lDeviceType . |
Комментарии
Этот метод создает и отображает диалоговое окно Выбор устройства , чтобы пользователь смог выбрать устройство WIA для получения изображения. Если устройство выбрано успешно, метод IWiaDevMgr::SelectDeviceDlg создает иерархическое дерево объектов IWiaItem для устройства. Он сохраняет указатель на интерфейс IWiaItem корневого элемента в параметре ppItemRoot.
Определенные типы устройств могут отображаться для пользователя, указав типы устройств с помощью параметра lDeviceType . Если спецификации соответствует только одно устройство, IWiaDevMgr::SelectDeviceDlg не отображает диалоговое окно Выбор устройства . Вместо этого он создает дерево IWiaItem для устройства и сохраняет указатель на интерфейс IWiaItem корневого элемента в параметре ppItemRoot. Вы можете переопределить это поведение и принудительно использовать IWiaDevMgr::SelectDeviceDlg для отображения диалогового окна Выбор устройства , передав WIA_SELECT_DEVICE_NODEFAULT в качестве значения для параметра lFlags .
Если спецификации соответствует несколько устройств WIA, все соответствующие устройства отображаются в диалоговом окне Выбор устройства , чтобы пользователь мог выбрать одно из них.
Приложения должны вызывать метод IUnknown::Release для указателей интерфейса, которые они получают с помощью параметра ppItemRoot .
Приложениям рекомендуется сделать выбор устройств и изображений доступными с помощью пункта меню с именем "Из сканера" или "Камера " в меню Файл .
Требования
Минимальная версия клиента | Windows 2000 Professional, Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | wia_xp.h (включая Wia.h) |
Библиотека | Wiaguid.lib |
DLL | Wiaservc.dll |