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

另請參閱

MmFreeMappingAddress

MmMapLockedPagesWithReservedMapping

MmUnmapReservedMapping