舊版應用程式和 Windows Vista 驅動程序的對應
重要
本文包含適用於過時 Windows 作業系統的資訊。
本節說明當舊版應用程式需要使用 Windows Vista 驅動程式時,Windows Vista 傳送訊息和數據流如何對應至舊版傳輸訊息和數據流。
回呼傳輸
下表顯示 Windows Vista 驅動程式的回呼傳送訊息與傳送至舊版應用程式的訊息對應。
Windows Vista 驅動程式訊息 | 相容性層轉換之後的舊版應用程式訊息 () |
---|---|
WIA_TRANSFER_MSG_STATUS | IT_MSG_STATUS |
WIA_TRANSFER_MSG_ERROR | 忽略。 |
WIA_TRANSFER_MSG_END_OF_STREAM | 忽略。 此訊息一律會隨著 IWiaTransferCallback::GetNextStream 的呼叫一起進行。 若要避免重複的訊息,此訊息會改為在 GetNextStream 實作中實作。 |
WIA_TRANSFER_MSG_END_OF_TRANSFER | 驅動程式不會傳送IT_MSG_TERMINATION (WIA_TRANSFER_MSG_END_OF_TRANSFER) 。 |
WIA_TRANSFER_MSG_DEVICE_STATUS | 如果 hrErrorStatus == WIA_STATUS_WARMING_UP,相容性層會傳送IT_MSG_STATUS與 IT_STATUS_TRANSFER_FROM_DEVICE,以提供一些狀態給應用程式,以及讓 Windows Vista 應用程式能夠取消傳輸。 |
WIA_TRANSFER_MSG_NEW_PAGE | 忽略。 在此情況下,不應該由 Windows Vista 驅動程式傳送,因為我們使用 TYMED_FILE 呼叫 Windows Vista 驅動程式。 |
IWiaTransferCallback::GetNextStream | 第一頁:IT_MSG_DATA_HEADER 後續頁面:IT_MSG_NEW_PAGE |
IStream::Write | IT_MSG_DATA |
檔案傳輸
下表顯示 Windows Vista 驅動程式的檔案傳輸訊息對應至傳送至舊版應用程式的訊息。
Windows Vista 驅動程式訊息 | 相容性層轉換之後的舊版應用程式訊息 () |
---|---|
WIA_TRANSFER_MSG_STATUS | IT_MSG_STATUS |
WIA_TRANSFER_MSG_ERROR | 忽略。 |
WIA_TRANSFER_MSG_END_OF_STREAM | 忽略。 此訊息一律會隨著 IWiaTransferCallback::GetNextStream 的呼叫一起進行。 若要避免重複的訊息,此訊息會改為在 GetNextStream 實作中實作。 |
WIA_TRANSFER_MSG_END_OF_TRANSFER | 驅動程式不會傳送IT_MSG_TERMINATION (WIA_TRANSFER_MSG_END_OF_TRANSFER) 。 |
WIA_TRANSFER_MSG_DEVICE_STATUS | 如果 hrErrorStatus == WIA_STATUS_WARMING_UP,IT_MSG_STATUS會以 IT_STATUS_TRANSFER_FROM_DEVICE 傳送,以便為應用程式提供一些狀態,以及提供 Windows Vista 應用程式取消傳輸的可能性。 |
WIA_TRANSFER_MSG_NEW_PAGE | 此行為與現今多頁文件傳輸稍有不同,因為 wiasWritePageBufToFile 永遠不會傳送IT_MSG_NEW_PAGE。 |
IWiaTransferCallback::GetNextStream | 第一頁:IT_MSG_FILE_PREVIEW_DATA_HEADER 後續頁面:錯誤 (WIA_ERROR_GENERAL_ERROR 傳回驅動程式) 。 IWiaTransferCallback::GetNextStream 只能呼叫一次,因為您只能傳送一個具有TYMED_FILE的頁面,而且在TYMED_MULTIPAGE_FILE傳輸期間,Windows Vista 驅動程式應該只會呼叫 GetNextStream 一次,因為所有頁面都應該進入相同的數據流。 |
IStream::Write | 未傳送任何訊息。 如果是檔案傳輸,相容性層不會轉換驅動程式 (影像處理篩選的任何數據,) 寫入舊版傳輸訊息。 相反地,數據只會寫入傳送結束時傳回給用戶的檔案。 |
如需舊版傳輸訊息的詳細資訊,請參閱 IWiaMiniDrvCallBack 介面。
如需 TYMED 常數的詳細資訊,請參閱 瞭解 TYMED。