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 |