次の方法で共有


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

関連項目

MmFreeMappingAddress

MmMapLockedPagesWithReservedMapping

MmUnmapReservedMapping