共用方式為


ExtRemoteList 類別 (engextcpp.hpp)

ExtRemoteList 類別提供單一連結或多任務連結清單的包裝函式。 類別包含方法,可用來向前和向後移動清單。

ExtRemoteList 同時支援 NULL 終止和循環清單。

ExtRemoteList 預期清單是以 NT 型 Windows 版本實作清單的方式實作清單。 它也預期清單使用SINGLE_LIST_ENTRY或LIST_ENTRY結構。 特別是, ExtRemoteList 預期清單具有下列特性:

  1. 清單有一個 標頭。 前端代表開頭 (,而針對迴圈和雙連結清單,清單的結尾) ,而不是清單專案。 前端的類型是SINGLE_LIST_ENTRY或LIST_ENTRY。
  2. 清單中下一個專案的指標指向下列專案的指標。 換句話說,下一個專案的指標指向內嵌在下一個專案中的SINGLE_LIST_ENTRY或LIST_ENTRY結構。
  3. 對於多點連結清單,清單上一個專案的指標會指向目前專案的指標。 換句話說,上一個專案的指標指向內嵌在上一個專案中的LIST_ENTRY結構。
  4. 對於多連結清單,上一個專案的指標會緊接在下一個專案的指標之後。 這符合記憶體中LIST_ENTRY結構的配置。
如需SINGLE_LIST_ENTRY和LIST_ENTRY結構及其使用的詳細資訊,請參閱 Windows 驅動程式套件 (WDK) 檔。

ExtRemoteList 類別包含下列方法:

ExtRemoteList::ExtRemoteList (ExtRemoteData)

ExtRemoteList::ExtRemoteList (ULONG64)

StartHead

StartTail

HasNode

GetNodeOffset

下一步

昨日

class ExtRemoteList
{
public:
    ULONG64  m_Head;
    ULONG  m_LinkOffset;
    bool  m_Double;
    ULONG  m_MaxIter;
    ExtRemoteData  m_Node;
    ULONG  m_CurIter;
};
m_Head
目標記憶體中清單前端的位置。
m_LinkOffset
內嵌在清單專案內SINGLE_LIST_ENTRY或LIST_ENTRY結構的位移。
m_Double
true 為多點連結清單。 false 表示單向連結清單。
m_MaxIter
逐一查看清單時可傳回的最大節點數目。 m_MaxIter的預設值為 65536。 限制反覆運算中可傳回的節點數目,以防止迴圈。
m_Node
清單中目前專案的指標。 除非 使用 StartHeadStartTail 初始化反覆項目,否則不會設定m_Node。 m_Node 類型為 ExtRemoteData,其描述指標。
m_CurIter
目前清單反覆運算中所採取的步驟數目。 對於雙連結清單,向前和向後步驟 m_CurIter 增加。

方法

ExtRemoteList 類別具有這些方法。

 
ExtRemoteList::ExtRemoteList

ExtRemoteList (ExtRemoteData&,ULONG,bool) 建構函式會建立新的實例,以包裝單一連結或多任務連結清單。
ExtRemoteList::ExtRemoteList

ExtRemoteList (ULONG64,ULONG,bool) 建構函式會建立新的實例,以包裝單一連結或多任務連結清單。
ExtRemoteList::GetNodeOffset

GetNodeOffset 方法會傳回目前清單項目的位址。
ExtRemoteList::HasNode

HasNode 方法會判斷清單反覆專案中是否有目前專案。
ExtRemoteList::Next

Next 方法會將目前的項目變更為清單中的下一個專案。
ExtRemoteList::P rev

Prev 方法會將目前的項目變更為清單中的上一個專案。
ExtRemoteList::StartHead

StartHead 方法會初始化清單,以便從頭開始進行向前反覆運算。
ExtRemoteList::StartTail

StartTail 方法會初始化清單,以向後反覆運算,從頭開始。

規格需求

需求
目標平台 Windows
標頭 engextcpp.hpp (包括 Engextcpp.hpp)

另請參閱

ExtRemoteData

StartHead

StartTail