Regla MdlAfterReqCompletedIoctl (kmdf)
La regla MdlAfterReqCompletedIoctl especifica que dentro de la función de devolución de llamada EvtIoDeviceControl , no se puede tener acceso a la lista de descriptores de memoria (MDL) una vez completada la solicitud de E/S.
Dentro de la función de devolución de llamada EvtIoDeviceControl del controlador, no se puede obtener acceso al método MDL que se recuperó llamando al método WdfRequestRequestRetrieveInputWdmMdl o WdfRequestRequestCompleteWithInformation oWdfRequestCompleteWithInformation o WdfRequestCompleteWithPriorityBoost en la solicitud de E/S.
Esta regla examina las siguientes funciones de acceso MDL:
WDF_MEMORY_DESCRIPTOR_INIT_MDLMmGetMdlByteCountMmGetSystemAddressForMdlSafeMmGetMdlVirtualAddressIoBuildPartialMdl (primer y segundo parámetro) KeFlushIoBuffersMmGetMdlPfnArrayMmGetMdlByteOffsetMmPrepareMdlForReuseWdfDmaTransactionInitialize
Modelo de controlador: KMDF
Cómo probar
En tiempo de compilación |
---|
Ejecute el Comprobador de controladores estáticos y especifique la regla MdlAfterReqCompletedIoctl . Usa los pasos siguientes para ejecutar un análisis de tu código:
Para obtener más información, vea Usar comprobador de controladores estáticos para buscar defectos en controladores. |
Se aplica a
WdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestRetrieveInputWdmMdlWdfRequestRetrieveOutputWdmMdl