MmAllocateMappingAddress 関数 (wdm.h)
MmAllocateMappingAddress ルーチンは、指定したサイズのシステム仮想アドレス空間の範囲を予約します。
構文
PVOID MmAllocateMappingAddress(
[in] SIZE_T NumberOfBytes,
[in] ULONG PoolTag
);
パラメーター
[in] NumberOfBytes
予約するバイト数を指定します。
[in] PoolTag
バッファーを識別するために使用される 4 文字のタグを指定します。 割り当てコード パスごとに個別の PoolTag タグを使用します。 プール タグの説明については、「 ExAllocatePoolWithTag」を参照してください。
戻り値
MmAllocateMappingAddress は、予約済みメモリ バッファーの先頭へのポインターを返します。
注釈
MmAllocateMappingAddress は、呼び出し元が使用するシステム仮想アドレス範囲を予約します。 仮想アドレス範囲に物理メモリは割り当てられず、 MmMapLockedPagesWithReservedMapping ルーチンによってマップされるまで、仮想メモリにアクセスできません。 呼び出し元は 、MmUnmapReservedMapping ルーチンを呼び出して、予約済みメモリ範囲のマップを解除します。 最後に、呼び出し元は MmFreeMappingAddress を呼び出すことによって予約範囲を解放できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP 以降のバージョンの Windows で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | <=APC_LEVEL |