Regla MemAfterReqCompletedWriteA (kmdf)
La regla MemAfterReqCompletedWriteA especifica que dentro de la función de devolución de llamada EvtIoWrite , 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 EvtIoWrite del controlador, no se puede acceder al objeto de memoria del marco que se recuperó llamando al método WdfRequestRetrieveInputMemory después de llamar a WdfRequestComplete, WdfRequestCompleteWithInformation o WdfRequestCompleteWithPriorityBoost en la solicitud de E/S.
Esta regla tiene en cuenta los ocho métodos de acceso siguientes:
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 MemAfterReqCompletedWriteA . 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
WDF_MEMORY_DESCRIPTOR_INIT_HANDLEWdfMemoryAssignBufferWdfMemoryCopyFromBufferWdfMemoryCopyToBufferWdfMemoryGetBufferWdfObjectDeleteWdfObjectDereferenceWdfObjectReferenceWdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRetrieveInputMemory