次の方法で共有


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

こちらもご覧ください

MmFreeMappingAddress

MmMapLockedPagesWithReservedMapping

MmUnmapReservedMapping