CBaseList 類別

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

cbaselist 類別階層

CBaseList方法會實作 abtract 清單。 衍生自CBaseList 的 CGenericList類別範本提供類型檢查,以及比CBaseList類別更簡單的介面。

CBaseList類別會在 Microsoft Foundation Classs (MFC) 程式庫中的CObList類別模型化。 清單中的位置會以 POSITION 結構表示。 呼叫端不應該存取 POSITION 結構的內部成員;將它視為清單節點的指標。 物件在清單中的位置會維持有效狀態,直到刪除物件為止。

此清單不需要它包含的物件支援。 它不會對 物件執行儲存體管理或複製。 物件可以位於多個清單中。

這個類別中方法的大約一半會對單一物件採取動作。 這些方法具有尾碼 - 方法名稱中的 I。 其他方法會針對整個清單採取行動。 例如, CBaseList::AddAfter 方法會將清單附加至另一個清單。 單一物件作業會在失敗時傳回 POSITION 值或 Null 。 如果成功或FALSE,清單作業會傳回TRUE。

受保護的成員變數 Description
m_Count 清單中的專案數。
m_pFirst 清單中第一個節點的指標。
m_pLast 清單中最後一個節點的指標。
保護方法 Description
GetNextI 擷取位於指定位置的專案,並將位置往前移。
GetI 擷取位於指定位置的專案。
FindI 擷取保留指定專案的第一個位置。
RemoveHeadI 移除清單中的第一個專案。
RemoveTailI 移除清單中的最後一個專案。
RemoveI 移除位於指定位置的專案。
AddTailI 將專案加入清單結尾。
AddHeadI 將專案新增至清單的前面。
AddAfterI 在指定的位置後面插入專案。
AddBeforeI 在指定的位置之前插入專案。
公用方法 Description
CBaseList 建構函式方法。
~ CBaseList 解構函式方法。
RemoveAll 從清單中移除所有節點。
GetHeadPositionI 擷取清單中第一個專案的位置。
GetTailPositionI 擷取清單最後一個專案的位置。
GetCountI 擷取清單中的專案數目。
下一步 擷取清單中的下一個位置。
昨日 擷取清單中的先前位置。
AddHead 在此清單的前面插入另一個清單。
AddTail 將另一個清單附加至此清單的結尾。
AddAfter 在指定的位置後面插入清單。
AddBefore 在指定的位置之前插入清單。
MoveToTail 分割清單,並將前端部分附加至另一個清單的結尾。
MoveToHead 分割清單,並將尾部分插入另一個清單的前端。
Reverse 反轉清單的順序。

規格需求

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

另請參閱

DirectShow 基類