MmAllocateMappingAddress 函式 (wdm.h)
MmAllocateMappingAddress 例程會保留指定大小的系統虛擬位址空間範圍。
語法
PVOID MmAllocateMappingAddress(
[in] SIZE_T NumberOfBytes,
[in] ULONG PoolTag
);
參數
[in] NumberOfBytes
指定要保留的位元元組數目。
[in] PoolTag
指定用來識別緩衝區的四個字元標記。 針對每個配置程式代碼路徑使用相異 PoolTag 標記。 如需集區標籤的描述,請參閱 ExAllocatePoolWithTag。
傳回值
MmAllocateMappingAddress 會傳回保留記憶體緩衝區開頭的指標。
言論
MmAllocateMappingAddress 保留系統虛擬位址範圍以供呼叫者使用。 虛擬位址範圍不會配置任何實體記憶體,而且除非 MmMapLockedPagesWithReservedMapping 例程對應,否則無法存取虛擬記憶體。 呼叫端會呼叫 MmUnmapReservedMapping 例程來取消對應保留的記憶體範圍。 最後,呼叫者可以呼叫 MmFreeMappingAddress來釋放保留範圍。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 適用於 Windows XP 和更新版本的 Windows。 |
目標平臺 | 普遍 |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
連結庫 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <=APC_LEVEL |