(strmif.h) IAsyncReader 介面

[與此頁面 相關的功能 DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]

介面 IAsyncReader 會在篩選上執行非同步資料要求。

這個介面是由執行非同步讀取作業的輸出接點所公開。 介面是由下游篩選上的輸入針腳使用。 應用程式不會使用此介面。 非同步檔案來源篩選會在其輸出釘選上公開此介面。

篩選開發人員:如果您的輸出釘選以位元組資料流程的形式提供資料, (MEDIATYPE_Stream) 並支援提取模型,請實作此介面。 在連線過程中,檢查下游針腳是否查詢 IAsyncReader 介面。 如果沒有,您的針腳應該會失敗連線,或建立一些其他傳輸。 (如果您的針腳衍生自 CBasePin,請在 CBasePin::CheckConnect 方法中執行這項檢查。)

如需使用此介面的詳細資訊,請參閱下列主題:

繼承

IAsyncReader介面繼承自IUnknown介面。 IAsyncReader 也有下列類型的成員:

方法

IAsyncReader介面具有這些方法。

 
IAsyncReader::BeginFlush

BeginFlush 方法會開始排清作業。 (IAsyncReader.BeginFlush)
IAsyncReader::EndFlush

EndFlush 方法會結束排清作業。 (IAsyncReader.EndFlush)
IAsyncReader::Length

Length 方法會擷取資料流程的總長度。
IAsyncReader::Request

Request 方法會將資料的非同步要求排入佇列。
IAsyncReader::RequestAllocator

RequestAllocator 方法會在針腳連接期間要求配置器。
IAsyncReader::SyncRead

SyncRead 方法會執行同步讀取。 方法會封鎖直到要求完成為止。 檔案位置和緩衝區位址不需要對齊。 如果要求未對齊,方法會執行緩衝讀取作業。
IAsyncReader::SyncReadAligned

SyncReadAligned 方法會執行同步讀取。 方法會封鎖直到要求完成為止。 檔案位置和緩衝區位址必須對齊;請檢查配置器屬性,以取得必要的對齊方式。
IAsyncReader::WaitForNext

WaitForNext 方法會等候下一個擱置的讀取要求完成。

規格需求

   
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 strmif.h (包含 Dshow.h)