英語で読む

次の方法で共有


MmMapLockedPages 関数 (wdm.h)

MmMapLockedPages ルーチンは、Windows 2000 以降のバージョンの Windows および Windows Me 用の古い されています。 これは、Windows 98 で実行する必要がある WDM ドライバーでのみサポートされます。 それ以外の場合は、mmMapLockedPagesSpecifyCache 使用します。

mmMapLockedPages ルーチンは、特定の MDL で記述されている物理ページをマップします。

構文

C++
PVOID MmMapLockedPages(
  [in] PMDL                                                                          MemoryDescriptorList,
  [in] __drv_strictType(KPROCESSOR_MODE / enum _MODE,__drv_typeConst)KPROCESSOR_MODE AccessMode
);

パラメーター

[in] MemoryDescriptorList

MmProbeAndLockPagesによって更新された MDL へのポインター。

[in] AccessMode

KernelMode または UserMode 、MDL をマップするアクセス モードを指定します。 ほぼすべてのドライバーは、KernelModeを使用する必要があります。

戻り値

MmMapLockedPages は、マップされたページの開始アドレスを返します。 (Windows NT 4.0 Service Pack 4 (SP4) より前の NT ベースのオペレーティング システムの場合、mmMapLockedPages は、マップされたページの最初のページの開始アドレスを返します)。

備考

mmUnmapLockedPages 使用して、MmMapLockedPagesによってマップされた物理ページのマップを解除します。

AccessMode が KernelMode で、mmMapLockedPages 指定したページをマップできない場合、システムはバグ チェックを発行します。 (このため、ドライバーは、使用可能な場合 mmMapLockedPagesSpecifyCache を使用する必要があります。このルーチンは、バグ チェックを発生させるのではなく、エラー時に null 返します)。AccessMode が UserMode され、指定したページをマップできない場合、ルーチンは例外を発生させます。 UserMode 指定する呼び出し元は、MmMapLockedPages への呼び出しを try/except ブロックでラップする必要があります。 詳細については、「例外の処理」を参照してください。

AccessMode が KernelMode 場合、MmMapLockedPages の呼び出し元は IRQL <= DISPATCH_LEVEL で実行 必要があります。 それ以外の場合、呼び出し元は IRQL <= APC_LEVELで実行されている必要があります。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 以降のバージョンの Windows および Windows Me では廃止されました。 このルーチンは、Windows 98 で実行する必要がある WDM ドライバーでのみサポートされます。 それ以外の場合は、MmMapLockedPagesSpecifyCache を使用します。
ターゲット プラットフォーム 万国
ヘッダー wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 「解説」セクションを参照してください。
DDI コンプライアンス規則 する hwStorPortProhibitedDDDIs(storport) する

関連項目

mmGetSystemAddressForMdl

mmGetSystemAddressForMdlSafe

mmMapLockedPagesSpecifyCache する

MmProbeAndLockPages

MmUnmapLockedPages