Regla MemAfterReqCompletedIntIoctlA (kmdf)
La regla MemAfterReqCompletedIntIoctlA especifica que dentro de la función de devolución de llamada EvtIoInternalDeviceControl , no se puede tener acceso al objeto de memoria del marco una vez completada la solicitud de E/S.
Dentro de la función de devolución de llamada EvtIoInternalDeviceControl del controlador, no se puede obtener acceso al objeto de memoria del marco que se recuperó llamando a los métodos WdfRequestRetrieveInputMemory o WdfRequestRetrieveOutputMemory después de llamar a WdfRequestCompleteWithInformation o WdfRequestCompleteWithPriorityBoost en la solicitud de E/S.
Esta regla tiene en cuenta los siguientes métodos de acceso a memoria:
WdfMemoryGetBufferWDF_MEMORY_DESCRIPTOR_INIT_HANDLEWdfMemoryAssignBufferWdfMemoryCopyToBufferWdfMemoryCopyFromBufferWdfObjectReferenceWdfObjectDereferenceWdfObjectDelete
Modelo de controlador: KMDF
Cómo probar
En tiempo de compilación |
---|
Ejecute el Comprobador de controladores estáticos y especifique la regla MemAfterReqCompletedIntIoctlA . 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
WDF_MEMORY_DESCRIPTOR_INIT_HANDLEWdfMemoryAssignBufferWdfMemoryCopyFromBufferWdfMemoryCopyToBufferWdfMemoryGetBufferWdfObjectDeleteWdfObjectDereferenceWdfObjectReferenceWdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestRetrieveInputMemoryWdfRequestRetrieveOutputMemory