IWiaDevMgr::GetImageDlg 메서드(wia_xp.h)

IWiaDevMgr::GetImageDlg 메서드는 사용자가 WIA(Windows 이미지 획득) 디바이스에서 이미지를 획득하고 지정된 파일에 이미지를 쓸 수 있는 하나 이상의 대화 상자를 표시합니다. 이 메서드는 IWiaDevMgr::SelectDeviceDlg 의 기능을 결합하여 단일 API 호출 내에서 이미지 획득을 완전히 캡슐화합니다.

구문

HRESULT GetImageDlg(
  [in]      HWND     hwndParent,
  [in]      LONG     lDeviceType,
  [in]      LONG     lFlags,
  [in]      LONG     lIntent,
  [in]      IWiaItem *pItemRoot,
  [in]      BSTR     bstrFilename,
  [in, out] GUID     *pguidFormat
);

매개 변수

[in] hwndParent

형식: HWND

이미지 가져오기 대화 상자를 소유하는 창의 핸들입니다.

[in] lDeviceType

형식: LONG

사용할 WIA 디바이스 유형을 지정합니다. StiDeviceTypeDefault, StiDeviceTypeScanner 또는 StiDeviceTypeDigitalCamera로 설정됩니다.

[in] lFlags

형식: LONG

대화 상자 동작을 지정합니다. 다음 값으로 설정할 수 있습니다.

플래그 의미
0 기본 동작
WIA_SELECT_DEVICE_NODEFAULT 이 메서드가 디바이스 선택 대화 상자를 표시하도록 합니다. 자세한 내용은 이 참조 페이지의 설명 섹션을 참조하세요.
WIA_DEVICE_DIALOG_SINGLE_IMAGE 디바이스 이미지 획득 대화 상자에서 이미지 선택을 단일 이미지로 제한합니다.
WIA_DEVICE_DIALOG_USE_COMMON_UI 공급업체에서 제공하는 UI 대신 시스템 UI(사용 가능한 경우)를 사용합니다. 시스템 UI를 사용할 수 없는 경우 공급업체 UI가 사용됩니다. 두 UI를 모두 사용할 수 없는 경우 함수는 E_NOTIMPL 반환합니다.

[in] lIntent

형식: LONG

이미지가 나타낼 데이터 형식을 지정합니다. 이미지 의도 값 목록은 이미지 의도 상수를 참조하세요.

[in] pItemRoot

형식: IWiaItem*

IWiaDevMgr::CreateDevice에서 반환된 IWiaItem 개체의 계층 트리 인터페이스에 대한 포인터입니다.

[in] bstrFilename

형식: BSTR

이미지 데이터가 기록되는 파일의 이름을 지정합니다.

[in, out] pguidFormat

형식: GUID*

입력에서 에는 사용할 형식을 지정하는 GUID에 대한 포인터가 포함됩니다. 출력에서 은 사용된 형식을 보유합니다. 기본 형식을 사용하도록 IID_NULL 전달합니다.

반환 값

형식: HRESULT

IWiaDevMgr::GetImageDlg 는 사용자가 디바이스 선택 또는 이미지 획득 대화 상자를 취소하는 경우 S_FALSE 반환하고, 현재 WIA 디바이스를 사용할 수 없는 경우 WIA_S_NO_DEVICE_AVAILABLE, UI를 사용할 수 없는 경우 E_NOTIMPL, 데이터가 성공적으로 전송되었는지 S_OK.

IWiaDevMgr::GetImageDlg오류 코드에 지정된 값 또는 지정된 값 이외의 이유로 실패하는 경우 표준 COM 오류를 반환합니다.

설명

이 메서드를 호출하면 사용자가 이미지를 가져올 수 있는 대화 상자가 표시됩니다. IWiaDevMgr::SelectDeviceDlg 메서드에서 만든 디바이스 선택 대화 상자를 표시할 수도 있습니다.

애플리케이션이 pItemRoot 매개 변수 값에 대해 NULL을 전달하는 경우 IWiaDevMgr::GetImageDlg는 사용자가 WIA 입력 디바이스를 선택할 수 있는 디바이스 선택 대화 상자를 표시합니다. 애플리케이션이 pItemRoot 매개 변수를 통해 디바이스의 항목 트리에 대한 포인터를 전달하여 WIA 입력 디바이스를 지정하는 경우 IWiaDevMgr::GetImageDlg디바이스 선택 대화 상자를 표시하지 않습니다. 대신 지정된 입력 디바이스를 사용하여 이미지를 가져옵니다.

디바이스 선택 대화 상자를 사용하는 경우 애플리케이션은 WIA 입력 디바이스 유형을 지정할 수 있습니다. 이렇게 하려면 pItemRoot 매개 변수를 NULL 로 설정하고 lDeviceType 매개 변수를 통해 적절한 상수를 전달해야 합니다. 지정된 유형의 디바이스가 둘 이상 있는 경우 IWiaDevMgr::GetImageDlg디바이스 선택 대화 상자가 표시되어 사용자가 사용할 디바이스를 선택할 수 있습니다.

IWiaDevMgr::GetImageDlg에서 일치하는 디바이스를 하나만 찾으면 디바이스 선택 대화 상자가 표시되지 않습니다. 대신 일치하는 디바이스를 선택합니다. 이 동작을 재정의하고 lFlags 매개 변수의 값으로 WIA_SELECT_DEVICE_NODEFAULT 전달하여 IWiaDevMgr::GetImageDlg에서 디바이스 선택 대화 상자를 표시하도록 강제할 수 있습니다.

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

대화 상자에는 고유한 파일 이름으로 파일을 저장할 수 있는 bstrFilename 폴더에 대한 충분한 권한이 있어야 합니다. 폴더에는 사용자 데이터가 포함되어 있으므로 ACL(액세스 제어 목록)으로도 보호해야 합니다.

요구 사항

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