IWiaDevMgr::GetImageDlg 方法 (wia_xp.h)
IWiaDevMgr::GetImageDlg 方法會顯示一或多個對話框,讓用戶能夠從 Windows Image Acquire (WIA) 裝置取得影像,並將映像寫入指定的檔案。 此方法結合了 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_S_NO_DEVICE_AVAILABLE如果目前沒有 WIA 裝置可用,E_NOTIMPL如果沒有 UI 可用,則S_OK是否成功傳輸數據。
IWiaDevMgr::GetImageDlg 會傳回 錯誤碼中指定的值,如果錯誤碼以外的任何原因失敗,則傳回標準 COM 錯誤。
備註
叫用這個方法會顯示一個對話框,讓用戶能夠取得影像。 它也可以顯示 IWiaDevMgr::SelectDeviceDlg 方法所建立的 [選取裝置] 對話框。
如果應用程式針對 pItemRoot 參數的值傳遞 NULL,IWiaDevMgr::GetImageDlg 會顯示 [選取裝置] 對話框,讓用戶選取 WIA 輸入設備。 如果應用程式透過 pItemRoot 參數傳遞裝置的專案樹狀目錄指標來指定 WIA 輸入設備, 則 IWiaDevMgr::GetImageDlg 不會顯示 [ 選取裝置 ] 對話方塊。 相反地,它會使用指定的輸入設備來取得映像。
使用 [ 選取裝置] 對話框時,應用程式可以指定 WIA 輸入設備的類型。 若要這樣做,必須將 pItemRoot 參數設定為 NULL ,並透過 lDeviceType 參數傳遞適當的常數。 如果指定的類型有多個裝置存在, IWiaDevMgr::GetImageDlg 會顯示 [ 選取裝置 ] 對話框,讓用戶選取要使用的裝置。
如果 IWiaDevMgr::GetImageDlg 只找到一個相符的裝置,它就不會顯示 [ 選取裝置 ] 對話框。 相反地,它會選取相符的裝置。 您可以覆寫此行為,並強制 IWiaDevMgr::GetImageDlg 顯示 [ 選取裝置 ] 對話框,方法是傳遞 WIA_SELECT_DEVICE_NODEFAULT 作為 lFlags 參數的值。
建議應用程式透過 [檔案] 功能表上名為[從掃描器或相機] 的功能表項,提供裝置和影像選取。
對話框必須具有 bstrFilename 資料夾的足夠許可權,才能以唯一的檔名儲存盤案。 資料夾也應該受到訪問控制清單的保護, (ACL) ,因為它包含用戶數據。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional、Windows XP [僅限桌面應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | wia_xp.h (包含 Wia.h) |
程式庫 | Wiaguid.lib |
Dll | Wiaservc.dll |