IWiaDataTransfer::idtGetData 方法 (wia_xp.h)
IWiaDataTransfer::idtGetData方法會從 Windows Image Acquisition (WIA) 裝置擷取完整的檔案。
語法
HRESULT idtGetData(
[in, out] LPSTGMEDIUM pMedium,
[in] IWiaDataCallback *pIWiaDataCallback
);
參數
[in, out] pMedium
類型: LPSTGMEDIUM
STGMEDIUM結構的指標。
[in] pIWiaDataCallback
類型: IWiaDataCallback*
IWiaDataCallback介面的指標。
傳回值
類型: HRESULT
這個方法可以傳回下列任何一個值:
傳回值 | 意義 |
---|---|
E_INVALIDARG | 這個方法的一或多個參數包含不正確資料。 |
E_OUTOFMEMORY | 這個方法無法配置足夠的記憶體來完成其作業。 |
E_UNEXPECTED | 發生未知的錯誤。 |
S_FALSE | 應用程式已取消作業。 |
S_OK | 已成功取得映射。 |
STG_E_MEDIUMFULL | 應用程式用來取得映射的儲存媒體已滿。 |
WIA_S_NO_DEVICE_AVAILABLE | 沒有 WIA 硬體裝置連結至使用者的電腦。 |
這個方法會傳回 錯誤碼中指定的值,如果因上表所指定之任何原因而失敗,則傳回標準 COM 錯誤。
備註
在大部分方面,此方法的運作方式與 IDataObject::GetData 方法相同。 主要差異在於 IWiaDataTransfer::idtGetData 會為 IWiaDataCallback 介面的指標提供額外的參數。 應用程式會使用這個選擇性參數在資料傳輸期間取得狀態通知。 如果不需要任何狀態通知,它應該設定為零。
資料傳輸的格式取決於專案 WIA_IPA_FORMAT 和 WIA_IPA_TYMED 屬性的值。 應用程式會使用 呼叫 IWiaPropertyStorage::WriteMultiple 方法來設定這些屬性。
與 IWiaDataTransfer::idtGetBandedData方法不同,IWiaDataTransfer::idtGetData會將完整的檔案從 WIA 裝置傳輸到應用程式,而不只是單一資料範圍。 pMedium參數是STGMEDIUM結構的指標,其中包含要用於資料傳輸的儲存媒體資訊。 程式會使用 pIWiaDataCallback 參數,將這個方法的指標傳遞至 IWiaDataCallback 介面。 此方法會定期使用介面指標來叫用 BandedDataCallback 方法,並提供應用程式有關進行中資料傳輸的狀態資訊。
傳遞Null作為pMedium結構的lpszFileName成員值,以允許 WIA 判斷新檔案的檔案名和位置。 傳回時,pMedium結構的lpszFileName成員包含新檔案的位置和名稱。
如果此方法傳回的值是 COM SUCCESS 值,或傳輸是多頁檔案傳輸,而傳回的錯誤碼會WIA_ERROR_PAPER_JAM、WIA_ERROR_PAPER_EMPTY或WIA_ERROR_PAPER_PROBLEM,WIA 就不會刪除檔案。
規格需求
最低支援的用戶端 | Windows 2000 Professional、Windows XP [僅限桌面應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | wia_xp.h (包含 Wia.h) |
程式庫 | Wiaguid.lib |
Dll | Wiaservc.dll |