共用方式為


在 Windows Vista 中取消數據傳輸

重要

本文包含適用於過時 Windows 作業系統的資訊。

在 Windows Vista 中,有新的介面 IWiaTransfer (,如 Windows SDK 檔所述,) 應用程式用來執行串流式數據傳輸。 除了新的傳輸方法之外,這個介面還包含 一個 Cancel 方法,應用程式可用來取消數據傳輸,包括 多項目傳輸。 使用此方法,您可以異步取消數據傳輸。 建議您使用此程式來取消資料傳輸。 不過,Windows Vista 應用程式也可以從其回呼例程傳回S_FALSE,以取消傳輸。

因此,Windows Vista 中的 WIA 應用程式有兩種方式可取消傳輸:

  • 從其回呼例程傳回S_FALSE。

  • 呼叫 IWiaTransfer::Cancel

Windows Vista 驅動程式可以透過兩種不同的方式通知應用程式已取消傳輸:

當應用程式呼叫 IWiaTransfer::Cancel 時,應該使用 WIA_EVENT_CANCEL_IO 呼叫驅動程式中的 IWiaMiniDrv::d rvNotifyPnPEvent 方法。 此外, IWiaMiniDrvTransferCallback::GetNextStreamIWiaMiniDrvTransferCallback::SendMessage 回呼函式必須一律在取消傳輸之後傳回S_FALSE。

如果 IWiaTransferCallback::GetNextStream多專案傳輸期間傳回WIA_STATUS_SKIP_ITEM,則應用程式會略過 (也就是說,不會傳送) 目前的專案。 傳回值S_FALSE仍然表示應該取消整個傳輸。

Microsoft Windows SDK 檔中會說明 IWiaTransferIWiaTransferCallback 介面。

IWiaMiniDrvTransferCallback