Bagikan melalui


Kelas ExtRemoteList (engextcpp.hpp)

Kelas ExtRemoteList menyediakan pembungkus di sekitar daftar yang ditautkan dengan nyanyian atau dua kali lipat. Kelas berisi metode yang dapat digunakan untuk bergerak maju dan mundur melalui daftar.

ExtRemoteList mendukung daftar null yang dihentikan dan melingkar.

ExtRemoteList mengharapkan bahwa daftar diimplementasikan dengan cara Versi Windows berbasis NT mengimplementasikan daftar. Ini juga mengharapkan bahwa daftar menggunakan struktur SINGLE_LIST_ENTRY atau LIST_ENTRY. Secara khusus, ExtRemoteList mengharapkan daftar memiliki karakteristik berikut:

  1. Daftar ini memiliki kepala . Kepala mewakili awal (dan, untuk daftar melingkar dan tertaut doubly, akhir) dari daftar dan bukan item daftar. Jenis kepala SINGLE_LIST_ENTRY atau LIST_ENTRY.
  2. Penunjuk ke item berikutnya dalam daftar menunjuk ke item berikut. Dengan kata lain, penunjuk ke item berikutnya menunjuk ke struktur SINGLE_LIST_ENTRY atau LIST_ENTRY yang disematkan di item berikutnya.
  3. Untuk daftar yang ditautkan doubly, penunjuk ke item sebelumnya dalam daftar menunjuk ke penunjuk ke item saat ini. Dengan kata lain, penunjuk ke item sebelumnya menunjuk ke struktur LIST_ENTRY yang disematkan di item sebelumnya.
  4. Untuk daftar yang ditautkan dua kali, penunjuk ke item sebelumnya segera mengikuti penunjuk ke item berikutnya. Ini cocok dengan tata letak struktur LIST_ENTRY dalam memori.
Untuk informasi selengkapnya tentang struktur SINGLE_LIST_ENTRY dan LIST_ENTRY dan penggunaannya, lihat dokumentasi Windows Driver Kit (WDK).

Kelas ExtRemoteList mencakup metode berikut:

ExtRemoteList::ExtRemoteList (ExtRemoteData)

ExtRemoteList::ExtRemoteList (ULONG64)

StartHead

StartTail

HasNode

GetNodeOffset

Berikutnya

sebelumnya

class ExtRemoteList
{
public:
    ULONG64  m_Head;
    ULONG  m_LinkOffset;
    bool  m_Double;
    ULONG  m_MaxIter;
    ExtRemoteData  m_Node;
    ULONG  m_CurIter;
};
m_Head
Lokasi dalam memori target kepala daftar.
m_LinkOffset
Offset struktur SINGLE_LIST_ENTRY atau LIST_ENTRY yang disematkan dalam item daftar.
m_Double
true untuk daftar yang ditautkan dua kali lipat. false untuk daftar yang ditautkan dengan nyanyian.
m_MaxIter
Jumlah maksimum simpul yang dapat dikembalikan saat melakukan iterasi di atas daftar. Nilai default m_MaxIter adalah 65536. Membatasi jumlah simpul yang dapat dikembalikan dalam iterasi melindungi dari perulangan.
m_Node
Penunjuk ke item saat ini dalam daftar. m_Node tidak diatur hingga iterasi diinisialisasi menggunakan StartHead atau StartTail. m_Node berjenis ExtRemoteData, yang menjelaskan penunjuk.
m_CurIter
Jumlah langkah yang diambil dalam perulangan daftar saat ini. Untuk daftar yang ditautkan dua kali lipat, m_CurIter ditingkatkan untuk langkah maju dan mundur.

Metode

Kelas ExtRemoteList memiliki metode ini.

 
ExtRemoteList::ExtRemoteList

Konstruktor ExtRemoteList(ExtRemoteData&,ULONG,bool) membuat instans baru yang membungkus daftar yang ditautkan dengan senyap atau ditautkan dua kali lipat.
ExtRemoteList::ExtRemoteList

Konstruktor ExtRemoteList(ULONG64,ULONG,bool) membuat instans baru yang membungkus daftar yang ditautkan dengan nyanyian atau dua kali lipat.
ExtRemoteList::GetNodeOffset

Metode GetNodeOffset mengembalikan alamat item daftar saat ini.
ExtRemoteList::HasNode

Metode HasNode menentukan apakah ada item saat ini dalam perulangan daftar.
ExtRemoteList::Next

Metode Berikutnya mengubah item saat ini ke item berikutnya dalam daftar.
ExtRemoteList::P rev

Metode Prev mengubah item saat ini ke item sebelumnya dalam daftar.
ExtRemoteList::StartHead

Metode StartHead menginisialisasi daftar untuk iterasi ke depan mulai dari kepala.
ExtRemoteList::StartTail

Metode StartTail menginisialisasi daftar untuk iterasi mundur, dimulai dari kepala.

Persyaratan

Syarat Nilai
Platform Target Windows
Header engextcpp.hpp (termasuk Engextcpp.hpp)

Lihat juga

ExtRemoteData

StartHead

StartTail