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 ルールを指定します。 コードの分析を実行するには、次の手順に従います。詳細については、 「静的ドライバー検証ツールを使用してドライバー の欠陥を見つける」を参照してください。 |
適用対象
WdfDeviceInitSetPnpPowerEventCallbacksWdfFdoInitSetFilterWdfIoQueueCreate