MmGetMdlVirtualAddress マクロ (wdm.h)
MmGetMdlVirtualAddress は、MDL によって記述したバッファーのベース仮想アドレスを返すマクロです。
構文
PVOID
MmGetMdlVirtualAddress (
_In_ PMDL Mdl
)
パラメーター
[in] Mdl
初期仮想アドレスを返すバッファーを記述した MDL へのポインター。
戻り値
なし
解説
MmGetMdlVirtualAddress からは、MDL の開始仮想アドレスが返されます。
MmGetMdlVirtualAddress から返される仮想アドレスは、現在のスレッド コンテキストで必ずしも有効ではありません。 下位レベルのドライバーでは、返された仮想アドレスを使用してメモリにアクセスすること、特にユーザー メモリ領域にアクセスすることは、しないでください。
返されるアドレスは、MDL の物理アドレス エントリのインデックスとして使用され、MapTransfer に入力できます。
MmGetMdlVirtualAddress の呼び出し元は、どの IRQL で実行されていてもかまいません。 通常、呼び出し元は IRQL = DISPATCH_LEVEL で実行されます (このルーチンは、MapTransfer への CurrentVa パラメーターを取得するために通常呼び出されるため)。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 |
Header | wdm.h |
IRQL | 任意のレベル (「備考」を参照) |
DDI コンプライアンス規則 | MdlAfterReqCompletedIntIoctlA(kmdf), MdlAfterReqCompletedIoctlA(kmdf), MdlAfterReqCompletedReadA(kmdf), MdlAfterReqCompletedWriteA(kmdf) |