Fungsi NdisAllocateBuffer (ndis.h)

Catatan NDIS 5. x telah ditolak dan digantikan oleh NDIS 6. x. Untuk pengembangan driver NDIS baru, lihat Driver Jaringan Yang Dimulai dengan Windows Vista. Untuk informasi tentang port NDIS 5. x driver ke NDIS 6. x, lihat Memindahkan Driver NDIS 5.x ke NDIS 6.0.

NdisAllocateBuffer membuat deskriptor buffer yang memetakan rentang virtual (sub)tertentu dalam blok memori yang sudah dialokasikan dan tidak dialokasikan.

Sintaks

void NdisAllocateBuffer(
  [out]          PNDIS_STATUS Status,
  [out]          PNDIS_BUFFER *Buffer,
  [in, optional] NDIS_HANDLE  PoolHandle,
  [in]           PVOID        VirtualAddress,
  [in]           UINT         Length
);

Parameter

[out] Status

Penunjuk ke variabel yang disediakan penelepon di mana fungsi ini mengembalikan status akhir alokasi buffer, yang NDIS_STATUS_SUCCESS jika mengembalikan penunjuk deskriptor buffer yang valid di Buffer dan sebaliknya NDIS_STATUS_FAILURE.

[out] Buffer

Penunjuk ke variabel yang disediakan penelepon di mana fungsi ini mengembalikan penunjuk ke deskriptor buffer yang dialokasikan.

[in, optional] PoolHandle

Menentukan handel yang dikembalikan oleh panggilan sebelumnya ke NdisAllocateBufferPool.

[in] VirtualAddress

Arahkan ke alamat virtual dasar memori ruang sistem yang dialokasikan sebelumnya untuk dipetakan dalam deskriptor buffer yang dikembalikan.

[in] Length

Menentukan jumlah byte yang akan dipetakan.

Nilai kembali

Tidak ada

Keterangan

Nilai yang dikembalikan: Tidak ada

NdisAllocateBuffer mengalokasikan penyimpanan untuk dan menginisialisasi deskriptor buffer untuk memetakan rentang tertentu dari memori yang dialokasikan sebelumnya, seperti memori yang digunakan untuk header paket atau buffer penerima NIC.

Alokasi deskriptor buffer menarik pada kumpulan buffer yang dibuat NdisAllocateBufferPool . Driver dapat memanggil NdisAllocateBuffer sebanyak yang diperlukan untuk mengalokasikan deskriptor buffer yang diperlukan jika disebut NdisAllocateBufferPool selama inisialisasi.

Semua driver NDIS tingkat bawah harus mengalokasikan semua deskriptor buffer yang mereka rantai ke paket dari kumpulan buffer. Hanya driver protokol tingkat tertinggi yang dapat diberikan deskriptor yang bergantung pada OS yang memetakan rentang memori virtual, dan, jika deskriptor memori ini setara dengan deskriptor buffer NDIS, protokol tingkat tertinggi dapat meneruskan deskriptor tersebut sebagai parameter ke fungsi NdisXxx .

Persyaratan

Persyaratan Nilai
Header ndis.h (termasuk Ndis.h)
Pustaka Ndis.lib
IRQL IRQL <= DISPATCH_LEVEL

Lihat juga