Fungsi MmFreeContiguousMemory (wdm.h)

Rutinitas MmFreeContiguousMemory merilis berbagai memori yang berdekatan secara fisik yang dialokasikan oleh rutinitas MmAllocateContiguousMemoryXxx .

Sintaks

void MmFreeContiguousMemory(
  [in] PVOID BaseAddress
);

Parameter

[in] BaseAddress

Arahkan ke alamat virtual memori yang akan dibebaskan.

Nilai kembali

Tidak ada

Keterangan

Rutinitas MmFreeContiguousMemory membebaskan blok memori yang berdekatan secara fisik yang dialokasikan oleh panggilan sebelumnya ke rutin MmAllocateContiguousMemory, MmAllocateContiguousMemorySpecifyCache, atau MmAllocateContiguousMemorySpecifyCacheNode . Parameter BaseAddress harus menjadi alamat dasar yang diperoleh dari panggilan sebelumnya ke rutinitas MmAllocateContiguousMemoryXxx .

Driver perangkat yang harus menggunakan memori yang bersebelahan harus mengalokasikan hanya apa yang dibutuhkan selama inisialisasi driver karena memori fisik cenderung menjadi terfragmentasi saat sistem berjalan. Driver semacam itu harus membatalkan alokasi memori ketika driver selesai menggunakan memori.

Pemanggil MmFreeContiguousMemory harus berjalan di IRQL = APC_LEVEL. Untuk Windows Server 2008 dan versi yang lebih baru dari sistem operasi Windows, Anda juga dapat memanggil MmFreeContiguousMemory dengan IRQL <= DISPATCH_LEVEL. Namun, Anda dapat meningkatkan performa driver dengan memanggil di APC_LEVEL atau di bawahnya.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia dimulai dengan Windows 2000.
Target Platform Universal
Header wdm.h (termasuk Wdm.h, Ntddk.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Lihat bagian Keterangan.
Aturan kepatuhan DDI HwStorPortProhibitedDDIs(storport), IrqlMmDispatch(wdm)

Lihat juga

MmAllocateContiguousMemory

MmAllocateContiguousMemorySpecifyCache

MmAllocateContiguousMemorySpecifyCacheNode