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 で使用できます。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <=APC_LEVEL |