ReqNotCanceledLocal ルール (kmdf)

ReqNotCanceledLocal ルールは、取り消し可能としてマークされた要求が既定の I/O キュー コールバック関数で完了した場合、完了前に I/O 要求で WdfRequestUnmarkCancelable メソッドを呼び出す必要があることを指定します。 要求が WdfRequestUnmarkCancelable を呼び出す前に取り消されない限り、I/O 要求を完了する必要があります。

WdfRequestMarkCancelable によってキャンセル可能としてマークされた要求が完了した場合 (WdfRequestCompleteWdfRequestCompleteWithInformation、または WdfRequestCompleteWithPriorityBoostを呼び出すことによって)、I/O 要求が完了する前に WdfRequestUnmarkCancelable メソッドを呼び出す必要があります。 WdfRequestUnmarkCancelable メソッドが STATUS_CANCELLEDと等しい状態を返さない限り、要求を完了できます。

要求の既定の I/O キュー コールバック関数は、 EvtIoDefaultEvtIoRead、  EvtIoWriteEvtIoDeviceControl、  EvtIoInternalDeviceControlです。

ドライバーモデル: KMDF

テスト方法

コンパイル時

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

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

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

適用対象

WdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestMarkCancelableWdfRequestMarkCancelableExWdfRequestUnmarkCancelable