次の方法で共有


ユーザー領域メモリへのアクセス

ドライバーは、ドライバーの現在の I/O 操作の原因となったユーザーモード スレッドのコンテキストで実行されていて、そのスレッドの仮想アドレスを使用している場合を除き、ユーザーモードの仮想アドレスを介してメモリに直接アクセスできません。

FSD などの最上位レベルのドライバーのみが、このようなユーザーモード スレッドのコンテキストでディスパッチ ルーチンが呼び出されることを確認できます。 最上位レベルのドライバーは、下位ドライバーの IRP を設定する前に、ユーザーバッファーをロックダウンする MmProbeAndLockPages を呼び出すことができます。

バッファー処理済みI/O または 直接的I/O 用にデバイスオブジェクトを設定する最下位レベルおよび中間ドライバーは、I/Oマネージャーまたは最上位レベルのドライバーに依存し、ロックダウンされたユーザーバッファーまたは IRP のシステム空間バッファーに有効なアクセスを渡すことができます。