Bagikan melalui


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)

Lihat juga

MiniportHaltEx

NdisAllocateMemoryWithTagPriority