Regra MemAfterReqCompletedIntIoctlA (KMDF)

A regra MemAfterReqCompletedIntIoctlA especifica que na função de retorno de chamada EvtIoInternalDeviceControl , o objeto de memória da estrutura não pode ser acessado após a conclusão da solicitação de e/s.

Na função de retorno de chamada EvtIoInternalDeviceControl do driver, o objeto de memória da estrutura que foi recuperado chamando os métodos WdfRequestRetrieveInputMemory ou WdfRequestRetrieveOutputMemory não pode ser acessado depois de chamar WdfRequestComplete, WdfRequestCompleteWithInformationou WdfRequestCompleteWithPriorityBoost na solicitação de e/s.

Essa regra considera os seguintes métodos de acesso à memória:

WdfMemoryGetBufferWDF_MEMORY_DESCRIPTOR_INIT_HANDLEWdfMemoryAssignBufferWdfMemoryCopyToBufferWdfMemoryCopyFromBufferWdfObjectReferenceWdfObjectDereferenceWdfObjectDelete

Modelo de driver: KMDF

Como testar

Em tempo de compilação

Execute o Verificador de driver estático e especifique a regra MemAfterReqCompletedIntIoctlA .

Use as seguintes etapas para executar uma análise do seu código:
  1. Prepare seu código (use declarações de tipo de função).
  2. Execute o verificador de driver estático.
  3. Exiba e analise os resultados.

Para obter mais informações, consulte usando o verificador de driver estático para encontrar defeitos nos drivers.

Aplica-se a

WDF_MEMORY_DESCRIPTOR_INIT_HANDLEWdfMemoryAssignBufferWdfMemoryCopyFromBufferWdfMemoryCopyToBufferWdfMemoryGetBufferWdfObjectDeleteWdfObjectDereferenceWdfObjectReferenceWdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestRetrieveInputMemoryWdfRequestRetrieveOutputMemory