共用方式為


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

另請參閱

mmFreeMappingAddress

mmMapLockedPagesWithReservedMapping

mmUnmapReservedMapping