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 中使用。 |
目標平台 | Universal |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | <=APC_LEVEL |