次の方法で共有


DrvAckIoStop ルール (kmdf)

DrvAckIoStop ルールは、電源管理キューの電源が切れている間に、ドライバーが保留中の要求を認識していることを確認し、それに応じて、ドライバーが保留中の要求を確認、完了、または取り消します。 自己管理 I/O 要求の場合、ドライバーは EvtDeviceSelfManagedIoSuspend 関数からのこれらの要求も正しく処理する必要があります。 ドライバーが電源切断中にこれらの要求を処理に失敗すると 、バグ チェック 0x9F が発生します。DRIVER_POWER_STATE_FAILURE

状況によっては、この警告を抑制することが適切な場合があります。 ドライバーが要求を保持しない場合、または他のドライバーに転送しない場合、およびドライバーがキューのハンドラーで直接要求を完了した場合は、__analysis_assume__analysis_assume 関数を使用して警告を抑制できます。 詳細については、「_analysis_assume 関数を使用して誤った欠陥を抑制する」および 「__analysis_assume を使用して追加のコード情報を指定する方法」を参照してください。

ドライバーモデル: KMDF

このルールで見つかったバグ チェック: バグ チェック 0x9F: DRIVER_POWER_STATE_FAILURE

テスト方法

コンパイル時

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

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

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

適用対象

WdfDeviceInitSetPnpPowerEventCallbacksWdfFdoInitSetFilterWdfIoQueueCreate