次の方法で共有


MmMapLockedPages 関数 (wdm.h)

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

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

構文

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

パラメーター

[in] MemoryDescriptorList

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

[in] AccessMode

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

戻り値

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

注釈

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

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

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

要件

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

こちらもご覧ください

MmGetSystemAddressForMdl

MmGetSystemAddressForMdlSafe

MmMapLockedPagesSpecifyCache

MmProbeAndLockPages

MmUnmapLockedPages