Bagikan melalui


struktur NET_FRAGMENT (fragment.h)

Mewakili satu buffer yang berdampingan dalam memori.

Sintaks

typedef struct _NET_FRAGMENT {
  UINT64 ValidLength : 26;
  UINT64 Capacity : 26;
  UINT64 Offset : 10;
  UINT64 Scratch : 1;
  UINT64 OsReserved_Bounced : 1;
} NET_FRAGMENT;

Anggota

ValidLength

Berisi panjang payload paket. Nilai ini kurang dari atau sama dengan nilai Kapasitas.

Untuk mengirimkan antrean, nilai ini bersifat baca-saja.

Capacity

Berisi panjang total buffer paket.

Untuk mengirimkan antrean, nilai ini bersifat baca-saja.

Offset

Berisi offset dari awal VirtualAddress dan DmaLogicalAddress hingga awal payload paket yang valid. Nilai ini kurang dari atau sama dengan nilai Kapasitas.

Untuk mendapatkan alamat virtual untuk fragmen ini, panggil NetExtensionGetFragmentVirtualAddress.

Untuk mendapatkan alamat logis DMA untuk fragmen ini, panggil NetExtensionGetFragmentLogicalAddress.

Untuk mengirimkan antrean, nilai ini bersifat baca-saja.

Scratch

Nilai bidang bit yang dapat digunakan klien untuk tujuan apa pun. Ketika NET_PACKET tempat fragmen ini digunakan kembali, nilai ini diatur ulang ke nol.

OsReserved_Bounced

Dicadangkan. Driver klien tidak boleh membaca atau menulis ke nilai ini.

Keterangan

Struktur NET_PACKET tunggal berisi referensi ke satu atau beberapa struktur NET_FRAGMENT .

Meskipun setiap fragmen adalah buffer memori yang hampir berdekatan, paket yang berisi lebih dari satu fragmen hampir tidak konsisten.

Persyaratan

Persyaratan Nilai
Versi KMDF minimum 1.29
Header fragment.h