Fungsi NdisFreeMemory (ndis.h)
Fungsi NdisFreeMemory merilis blok memori yang sebelumnya dialokasikan dengan fungsi NdisAllocateMemoryWithTagPriority .
Sintaks
void NdisFreeMemory(
[in] PVOID VirtualAddress,
[in] UINT Length,
[in] UINT MemoryFlags
);
Parameter
[in] VirtualAddress
Penunjuk ke alamat virtual dasar memori yang dialokasikan. Alamat ini dikembalikan oleh fungsi NdisAllocateMemoryWithTagPriority .
[in] Length
Ukuran, dalam byte, dari blok memori yang akan dilepaskan. Jika memori dialokasikan dengan NdisAllocateMemoryWithTagPriority atau parameter MemoryFlags adalah nol, parameter ini diabaikan.
[in] MemoryFlags
Sekumpulan bendera yang menentukan jenis memori yang akan dibebaskan. Nilai ini harus nol jika memori dialokasikan dengan NdisAllocateMemoryWithTagPriority. Dengan NDIS 6.0 dan versi yang lebih baru, NdisAllocateMemoryWithTagPriority selalu digunakan untuk mengalokasikan memori.
Nilai kembali
Tidak ada
Keterangan
Karena memori non-cache dan memori yang berdekatan jarang dirilis sampai driver miniport yang mengalokasikan sedang dibongkar, pemanggil NdisFreeMemory biasanya berjalan di IRQL = PASSIVE_LEVEL untuk jenis dealokasi ini. Dalam hal apa pun:
- Saat merilis memori yang berdampingan, penelepon NdisFreeMemory harus berjalan di IRQL = PASSIVE_LEVEL.
- Saat merilis memori yang tidak di-cache, pemanggil NdisFreeMemory harus berjalan di IRQL < DISPATCH_LEVEL.
- Saat merilis memori yang tidak berdampingan atau tidak di-cache, penelepon NdisFreeMemory harus berjalan di IRQL <= DISPATCH_LEVEL.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Didukung untuk driver NDIS 6.0 dan NDIS 5.1 (lihat NdisFreeMemory (NDIS 5.1)) di Windows Vista. Didukung untuk driver NDIS 5.1 (lihat NdisFreeMemory (NDIS 5.1)) di Windows XP. |
Target Platform | Universal |
Header | ndis.h (termasuk Ndis.h) |
Pustaka | Ndis.lib |
IRQL | Lihat bagian Keterangan |
Aturan kepatuhan DDI | Irql_Miscellaneous_Function(ndis), NdisAllocateMemoryWithTagPriority_Cleanup(ndis), NdisAllocateMemoryWithTagPriority_InitFail(ndis), NdisQueryBindInstanceName(ndis) |