Regla ReqNotCanceledLocal (kmdf)
La regla ReqNotCanceledLocal especifica que si una solicitud marcada como cancelable se completa en una función de devolución de llamada de cola de E/S predeterminada, se debe llamar al método WdfRequestUnmarkCancelable en la solicitud de E/S antes de finalizar. La solicitud de E/S debe completarse, a menos que se cancele la solicitud antes de llamar a WdfRequestUnmarkCancelable.
Si se completa una solicitud marcada como cancelable por WdfRequestMarkCancelable (llamando a WdfRequestComplete, WdfRequestCompleteWithInformation o WdfRequestCompleteWithPriorityBoost), se debe llamar al método WdfRequestUnmarkCancelable antes de que se complete la solicitud de E/S. La solicitud se puede completar a menos que el método WdfRequestUnmarkCancelable devuelva el estado igual a STATUS_CANCELLED.
Las funciones de devolución de llamada de cola de E/S predeterminadas para una solicitud son EvtIoDefault, EvtIoRead, EvtIoWrite, EvtIoDeviceControl, EvtIoInternalDeviceControl.
Modelo de controlador: KMDF
Cómo probar
En tiempo de compilación |
---|
Ejecute el Comprobador de controladores estáticos y especifique la regla ReqNotCanceledLocal . Usa los pasos siguientes para ejecutar un análisis de tu código:
Para obtener más información, consulte Uso del comprobador de controladores estáticos para buscar defectos en controladores. |
Se aplica a
WdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestMarkCancelableWdfRequestMarkCancelableExWdfRequestUnmarkCancelable