次の方法で共有


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)