changeQueueState rule (kmdf)

ChangeQueueState 規則會指定 WDF 驅動程式不會嘗試從並行線程變更佇列的狀態,也不會從相同的線程內呼叫變更 DIS 的狀態。 隊列狀態變更回呼函式為 WdfIoQueueStop、WdfIoQueueStopSynchronouslyWdfIoQueuePurgeWdfIoQueuePurgeSynchronouslyWdfIoQueueDrain、WdfIoQueueDrainSynchronouslyWdfIoQueueStopAndPurge和 WdfIoQueueStopAndPurgeSynchronously 如果佇列狀態變更正在進行時呼叫這些 DIS,則會導致電腦當機或變得沒有回應。

驅動程式模型:KMDF

測試方法

在編譯時期

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

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

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

適用於

WdfDeviceCreateWdfDriverCreateWdfIoQueueCreateWdfIoQueueDrainWdfIoQueueDrainSynchronouslyWdfIoQueuePurgeWdfIoQueuePurgeSynchronouslyWdfIoQueueStopWdfIoQueueStopAndPurgeSynchronouslyWdfIoQueueStopSynchronously