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 |