CImageAllocator 類別

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

cimageallocator 類別階層

類別 CImageAllocator 會實作配置器,以管理 GDI 裝置獨立點陣圖 (DIB) 。 這個類別衍生自 CBaseAllocator 類別。 它會建立使用 CImageSample 類別實作的媒體範例。

配置器是由兩個連接的針腳共用,但一律由連線中的其中一個篩選所擁有。 使用 CImageAllocator 的篩選準則必須追蹤配置器本身或由其他篩選準則提供。 如果配置器本身提供配置器,則擁有篩選準則可以依賴配置器中的所有媒體樣本都是 CImageSample 物件的事實。 因此,它可以使用 CImageSample 物件來取得 DIB 的相關資訊,其儲存在 DIBDATA 結構中。

每當媒體類型變更時,擁有篩選器應該呼叫 NotifyMediaType 。

受保護的成員變數 Description
m_pFilter 擁有篩選準則的指標。
m_pMediaType 目前媒體類型的指標。
保護方法 Description
Alloc 為緩衝區配置記憶體。
CheckSizes 根據目前的媒體類型檢查配置器屬性。
CreateDIB 建立 DIB。
CreateImageSample 建立媒體範例。 虛擬。
免費 釋放所有緩衝區記憶體。
公用方法 Description
CImageAllocator 建構函式方法。
NotifyMediaType 通知目前媒體類型的物件。
IMemAllocator 方法 Description
SetProperties 指定要配置的緩衝區數目,以及每個緩衝區的大小。

規格需求

需求 值
標頭
Winutil.h (包含 Streams.h)
程式庫
Strmbase.lib (零售組建) ;
Strmbasd.lib (偵錯組建)

另請參閱

CDrawImage 類別