Regla ChangeQueueState (kmdf)

La regla ChangeQueueState especifica que el controlador WDF no intenta cambiar el estado de la cola de subprocesos simultáneos o no llama al estado cambiando los DDIs uno después de otro desde dentro del mismo subproceso. Las funciones de devolución de llamada que cambian el estado de la cola son WdfIoQueueStopSynchronously,WdfIoQueuePurge,WdfIoQueuePurgeSynchronously, WdfIoQueueDrain, WdfIoQueueDrainSynchronously, WdfIoQueueStopAndPurge y WdfIoQueueStopAndPurgeSynchronously. Si se llama a estos DDIs cuando un cambio de estado de cola ya está en curso, hará que un equipo se bloquee o deje de responder.

Modelo de controlador: KMDF

Cómo probar

En tiempo de compilación

Ejecute el Comprobador de controladores estáticos y especifique la regla ChangeQueueState .

Usa los pasos siguientes para ejecutar un análisis de tu código:
  1. Prepara el código (usa declaraciones de tipos de rol).
  2. Ejecuta el comprobador de controlador estático.
  3. Consulta y analiza los resultados.

Para obtener más información, vea Usar comprobador de controladores estáticos para buscar defectos en controladores.

Se aplica a

WdfDeviceCreateWdfDriverCreateWdfIoQueueCreateWdfIoQueueDrainWdfIoQueueDrainSynchronouslyWdfIoQueuePurgeWdfIoQueuePurgeSynchronouslyWdfIoQueueStopWdfIoQueueStopAndPurgeWdfIoQueueStopAndPurgeSynchronouslyWdfIoQueueStopSynchronously