Regra MdlAfterReqCompletedIoctl (kmdf)
A regra MdlAfterReqCompletedIoctl especifica que, dentro da função de retorno de chamada EvtIoDeviceControl , a MDL (lista de descritores de memória) não pode ser acessada após a conclusão da solicitação de E/S.
Dentro da função de retorno de chamada EvtIoDeviceControl do driver, o MDL recuperado chamando o método WdfRequestRetrieveInputWdmMdl ou WdfRequestRetrieveOutputWdmMdl não pode ser acessado depois de chamar WdfRequestComplete, WdfRequestCompleteWithInformation ou WdfRequestCompleteWithPriorityBoost na solicitação de E/S.
Essa regra analisa as seguintes funções de acesso MDL:
WDF_MEMORY_DESCRIPTOR_INIT_MDLMmGetMdlByteCountMmGetSystemAddressForMdlSafeMmGetMdlVirtualAddressIoBuildPartialMdl (primeiro e segundo parâmetro) KeFlushIoBuffersMmGetMdlPfnArrayMmGetMdlByteOffsetMmPrepareMdlForReuseWdfDmaTransactionInitialize
Modelo de driver: KMDF
Como testar
Em tempo de compilação |
---|
Execute o Verificador de Driver Estático e especifique a regra MdlAfterReqCompletedIoctl . Use as seguintes etapas para executar uma análise do código:
Para obter mais informações, consulte Usando o Verificador de Driver Estático para localizar defeitos em drivers. |
Aplica-se a
WdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestRetrieveInputWdmMdlWdfRequestRetrieveOutputWdmMdl
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de