Regra MemAfterReqCompletedWriteA (kmdf)
A regra MemAfterReqCompletedWriteA especifica que, dentro da função de retorno de chamada EvtIoWrite , o objeto de memória da estrutura não pode ser acessado depois que a solicitação de E/S é concluída.
Na função de retorno de chamada EvtIoWrite do driver, o objeto de memória da estrutura que foi recuperado chamando o método WdfRequestRetrieveInputMemory não pode ser acessado depois de chamar WdfRequestComplete, WdfRequestCompleteWithInformation ou WdfRequestCompleteWithPriorityBoost na solicitação de E/S.
Essa regra considera os oito métodos de acesso a seguir:
WdfMemoryGetBufferWDF_MEMORY_DESCRIPTOR_INIT_HANDLE WdfMemoryAssignBufferWdfMemoryCopyToBufferWdfMemoryCopyFromBufferWdfObjectReferenceWdfObjectDereferenceWdfObjectDelete
Modelo de driver: KMDF
Como testar
Em tempo de compilação |
---|
Execute o Verificador de Driver Estático e especifique a regra MemAfterReqCompletedWriteA . Use as seguintes etapas para executar uma análise do seu código:
Para obter mais informações, consulte Usando o verificador de driver estático para encontrar defeitos em drivers. |
Aplica-se a
WDF_MEMORY_DESCRIPTOR_INIT_HANDLE WdfMemoryAssignBufferWdfMemoryCopyFromBufferWdfMemoryCopyToBufferWdfMemoryGetBufferWdfObjectDeleteWdfObjectDereferenceWdfObjectReferenceWdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestRetrieveInputMemory