Fungsi NdisRetreatNetBufferDataStart (ndis/nblapi.h)
Panggil fungsi NdisRetreatNetBufferDataStart untuk mengakses lebih banyak ruang data yang digunakan dalam rantai MDL dari struktur NET_BUFFER .
Sintaks
NDIS_EXPORTED_ROUTINE NDIS_STATUS NdisRetreatNetBufferDataStart(
[in] NET_BUFFER *NetBuffer,
[in] ULONG DataOffsetDelta,
[in] ULONG DataBackFill,
[in, optional] NET_BUFFER_ALLOCATE_MDL *AllocateMdlHandler
);
Parameter
[in] NetBuffer
Penunjuk ke struktur NET_BUFFER yang dialokasikan sebelumnya.
[in] DataOffsetDelta
Jumlah ruang data yang digunakan untuk ditambahkan. NDIS menyesuaikan anggota DataOffset dari struktur NET_BUFFER yang sesuai. Jika tidak ada cukup ruang data yang tidak digunakan untuk memenuhi permintaan, NDIS mengalokasikan memori tambahan.
[in] DataBackFill
Jika NDIS harus mengalokasikan memori, parameter ini menentukan jumlah ruang data, selain nilai parameter DataOffsetDelta , untuk dialokasikan.
[in, optional] AllocateMdlHandler
Titik masuk opsional untuk fungsi NetAllocateMdl . Jika pemanggil menentukan titik masuk untuk fungsi NetAllocateMdl , NDIS memanggil NetAllocateMdl untuk mengalokasikan MDL dan memori.
Nilai kembali
NdisRetreatNetBufferDataStart mengembalikan salah satu hal berikut ini:
Menampilkan kode | Deskripsi |
---|---|
|
NdisRetreatNetBufferDataStart berhasil mengalokasikan ruang data yang digunakan baik dengan menggunakan ruang data yang tidak digunakan atau dengan mengalokasikan penyimpanan baru. |
|
NdisRetreatNetBufferDataStart gagal karena sumber daya yang tidak mencukupi. |
|
NdisRetreatNetBufferDataStart gagal karena alasan selain sumber daya yang tidak mencukupi. |
Keterangan
NdisRetreatNetBufferDataStart mencoba memenuhi permintaan dengan mengurangi nilai anggota DataOffset dari struktur NET_BUFFER .
Jika tidak ada cukup ruang data yang tidak digunakan, fungsi ini mengalokasikan buffer baru dan MDL untuk menggambarkan buffer baru dan menautkan MDL baru ke awal rantai MDL. NDIS memanggil fungsi NetAllocateMdl yang ditentukan di AllocateMdl untuk mengalokasikan MDL dan memori. Fungsi NetAllocateMdl dapat menggunakan metode alokasi apa pun yang memenuhi persyaratan desain driver.
Memanggil Fungsi NdisAdvanceNetBufferDataStart untuk merilis ruang data yang digunakan yang ditambahkan dengan NdisRetreatNetBufferDataStart.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Didukung di NDIS 6.0 dan yang lebih baru. |
Target Platform | Universal |
Header | ndis/nblapi.h (sertakan ndis.h) |
Pustaka | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Aturan kepatuhan DDI | Irql_NetBuffer_Function(ndis) |
Lihat juga
NdisAdvanceNetBufferDataStartSaran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk