共用方式為


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