CBaseList 類別

[與此頁面相關的功能 DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 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 基類