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
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 を する