reqNotCanceledLocal 規則 (kmdf)

ReqNotCanceledLocal 規則會指定,如果在預設 I/O 佇列回呼函式中完成標示為可取消的要求,則必須在 I/O 要求上呼叫 WdfRequestUnmarkCancelable 方法,才能完成。 除非要求在呼叫 WdfRequestUnmarkCancelable 之前取消,否則必須完成 I/O 要求。

如果 WdfRequestMarkCancelable 標示為可取消的要求已完成, (呼叫 WdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoost) ,必須先呼叫 WdfRequestUnmarkCancelable 方法,才能完成 I/O 要求。 除非 WdfRequestUnmarkCancelable 方法傳回等於 STATUS_CANCELLED的狀態,否則要求可以完成。

要求的預設 I/O 佇列回呼函式為 EvtIoDefaultEvtIoReadEvtIoWriteEvtIoDeviceControlEvtIoInternalDeviceControl

驅動程式模型:KMDF

測試方法

在編譯時期

執行 靜態驅動程式驗證器 ,並指定 ReqNotCanceledLocal 規則。

使用下列步驟來執行程式碼的分析:
  1. 準備程式代碼 (使用角色類型宣告) 。
  2. 執行靜態驅動程式驗證程式。
  3. 檢視和分析結果。

如需詳細資訊,請參閱 使用靜態驅動程式驗證器在驅動程式中尋找瑕疵

適用於

WdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestMarkCancelable WdfRequestMarkCancelableExWdfRequestUnmarkCancelable