次の方法で共有


MemAfterReqCompletedIntIoctl ルール (kmdf)

MemAfterReqCompletedIntIoctl ルールは、EvtIoInternalDeviceControl コールバック関数内で、I/O 要求の完了後にフレームワーク メモリ オブジェクトにアクセスできないことを指定します。

ドライバーの EvtIoInternalDeviceControl コールバック関数内では、WdfRequestRetrieveInputMemory メソッドまたは WdfRequestRetrieveOutputMemory メソッドを呼び出して取得したフレームワーク メモリ オブジェクトは、I/O 要求で WdfRequestCompleteWdfRequestCompleteWithInformation、または WdfRequestCompleteWithPriorityBoost を呼び出した後にアクセスできません。

このルールでは、次の 2 つのメモリ アクセス方法が考慮されます。

WdfRequestRetrieveInputMemoryWdfRequestRetrieveOutputMemory

ドライバーモデル: KMDF

テスト方法

コンパイル時

静的ドライバー検証ツール を実行し、MemAfterReqCompletedIntIoctl ルールを指定します。

コードの分析を実行するには、次の手順に従います。
  1. コードを準備します (ロール型宣言を使用します)。
  2. 静的ドライバー検証ツールを実行します。
  3. 結果を表示および分析します。

詳細については、「静的ドライバー検証ツールを使用したドライバーの欠陥の検出」を参照してください。

適用対象

WdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestRetrieveInputMemoryWdfRequestRetrieveOutputMemory