Struktur Data Jaringan
Data jaringan terdiri dari paket data yang dikirim atau diterima melalui jaringan. NDIS menyediakan struktur data untuk menjelaskan dan mengatur data tersebut. Struktur data jaringan utama untuk NDIS 6.0 dan yang lebih baru adalah:
Gambar berikut menggambarkan hubungan antara struktur ini.
Di NDIS 6.0 dan yang lebih baru, NET_BUFFER adalah blok penyusun dasar untuk mengemas data jaringan. Setiap struktur NET_BUFFER memiliki rantai MDL. MDL memetakan alamat buffer data ke ruang data yang ditentukan struktur NET_BUFFER. Pemetaan data ini identik dengan rantai MDL yang NDIS 5. x dan driver sebelumnya digunakan dalam struktur NDIS_PACKET . NDIS menyediakan fungsi untuk memanipulasi rantai MDL.
Beberapa struktur NET_BUFFER dapat dilampirkan ke struktur NET_BUFFER_LIST. Struktur NET_BUFFER diatur sebagai daftar tertaut yang dihentikan NULL. Hanya driver yang berasal dari struktur NET_BUFFER_LIST, atau NDIS, yang harus memodifikasi daftar tertaut secara langsung untuk menyisipkan dan menghapus struktur NET_BUFFER.
NET_BUFFER LIST berisi informasi yang menjelaskan semua struktur NET_BUFFER yang dilampirkan ke daftar. Jika driver memerlukan ruang tambahan untuk informasi konteks, driver dapat menyimpan informasi tersebut dalam struktur NET_BUFFER_LIST_CONTEXT. NDIS menyediakan fungsi untuk mengalokasikan, membebaskan, dan mengakses data dalam struktur NET_BUFFER_LIST_CONTEXT.
Beberapa struktur NET_BUFFER_LIST dapat dilampirkan untuk membentuk daftar struktur NET_BUFFER_LIST. Struktur NET_BUFFER_LIST diatur sebagai daftar tertaut yang dihentikan NULL. Driver dapat mengubah daftar tertaut secara langsung untuk menyisipkan dan menghapus struktur NET_BUFFER_LIST.