次の方法で共有


BufAfterReqCompletedReadA ルール (kmdf)

BufAfterReqCompletedReadA ルールは、EvtIoRead コールバック関数内で、I/O 要求の完了後に取得された I/O 要求バッファーにはアクセスできないことを指定します。 可能なバッファー アクセス方法として機能する DDI は 14 個あります。

ドライバーの EvtIoRead コールバック関数内で、WdfRequestRetrieveOutputBuffer または WdfRequestRetrieveUnsafeUserOutputBuffer を呼び出すことによって取得された要求バッファーは、I/O 要求で WdfRequestCompleteWdfRequestCompleteWithInformation、または WdfRequestCompleteWithPriorityBoost を呼び出した後にアクセスできません。

ドライバーモデル: KMDF

テスト方法

コンパイル時

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

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

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

適用対象

WDF_MEMORY_DESCRIPTOR_INIT_BUFFERWdfMemoryAssignBufferWdfMemoryCopyFromBufferWdfMemoryCopyToBufferWdfMemoryCreatePreallocatedWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestRetrieveOutputBufferWdfRequestRetrieveUnsafeUserOutputBufferRtlCompareMemoryRtlMoveMemoryRtlZeroMemoryZwReadFile