Поделиться через


Метод 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