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**

선택한 WIA 디바이스를 나타내는 트리 루트 항목의 IWiaItem 인터페이스에 대한 포인터의 주소를 받습니다. 디바이스를 찾을 수 없는 경우 NULL 값이 포함됩니다.

반환 값

형식: HRESULT

이 메서드는 다음 값을 반환합니다.

반환 값 의미
S_OK 디바이스가 성공적으로 선택되었습니다.
S_FALSE 사용자가 대화 상자를 취소했습니다.
WIA_S_NO_DEVICE_AVAILABLE lDeviceType 매개 변수에 지정된 사양과 일치하는 WIA 하드웨어 디바이스가 없습니다.

설명

이 메서드는 사용자가 이미지 획득을 위해 WIA 디바이스를 선택할 수 있도록 디바이스 선택 대화 상자를 만들고 표시합니다. 디바이스가 성공적으로 선택되면 IWiaDevMgr::SelectDeviceDlg 메서드는 디바이스에 대한 IWiaItem 개체의 계층 트리를 만듭니다. 루트 항목의 IWiaItem 인터페이스에 대한 포인터를 ppItemRoot 매개 변수에 저장합니다.

lDeviceType 매개 변수를 통해 디바이스 유형을 지정하여 특정 유형의 디바이스를 사용자에게 표시할 수 있습니다. 하나의 디바이스만 사양을 충족하는 경우 IWiaDevMgr::SelectDeviceDlg디바이스 선택 대화 상자를 표시하지 않습니다. 대신 디바이스에 대한 IWiaItem 트리를 만들고 루트 항목의 IWiaItem 인터페이스에 대한 포인터를 ppItemRoot 매개 변수에 저장합니다. 이 동작을 재정의하고 lFlags 매개 변수의 값으로 WIA_SELECT_DEVICE_NODEFAULT 전달하여 IWiaDevMgr::SelectDeviceDlg에서 디바이스 선택 대화 상자를 표시하도록 강제할 수 있습니다.

둘 이상의 WIA 디바이스가 사양과 일치하는 경우 사용자가 선택할 수 있도록 일치하는 모든 디바이스가 디바이스 선택 대화 상자에 표시됩니다.

애플리케이션은 ppItemRoot 매개 변수를 통해 수신하는 인터페이스 포인터에서 IUnknown::Release 메서드를 호출해야 합니다.

애플리케이션은 파일 메뉴의 스캐너 또는 카메라에서라는 메뉴 항목을 통해 디바이스 및 이미지 선택을 사용할 수 있도록 하는 것이 좋습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional, Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 wia_xp.h(Wia.h 포함)
라이브러리 Wiaguid.lib
DLL Wiaservc.dll