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 |
ヘッダー | wdm.h |
IRQL | 任意のレベル (「解説」を参照) |
DDI コンプライアンス規則 を する | MdlAfterReqCompletedIntIoctlA(kmdf), MdlAfterReqCompletedIoctlA(kmdf), MdlAfterReqCompletedReadA(kmdf), MdlAfterReqCompletedWriteA(kmdf) |