Compartilhar via


Regra BufAfterReqCompletedIntIoctl (kmdf)

A regra BufAfterReqCompletedIntIoctl especifica que, depois que uma solicitação for concluída, seu buffer não poderá ser acessado (somente dentro da função de retorno de chamada EvtIoInternalDeviceControl ). O buffer é recuperado chamando WdfRequestRetrieveOutputBuffer ou WdfRequestRetrieveUnsafeUserOutputBuffer ou WdfRequestRetrieveInputBuffer ou WdfRequestRetrieveUnsafeUserInputBuffer.

Dentro da função de retorno de chamada de evento de fila EvtIoInternalDeviceControl , o buffer de solicitação recuperado chamando WdfRequestRetrieveInputBuffer, WdfRequestRetrieveOutputBuffer, WdfRequestRetrieveUnsafeUserInputBuffer ou WdfRequestRetrieveUnsafeUserOutputBuffer não pode ser acessado após a conclusão da solicitação. A solicitação é concluída chamando WdfRequestComplete, WdfRequestCompleteWithInformation ou WdfRequestComplete, WdfRequestCompleteWithPriorityBoost. As seguintes funções de acesso ao buffer possíveis são consideradas: WdfRequestRetrieveOutputBuffer, WdfRequestRetrieveUnsafeUserOutputBuffer, WdfRequestRetrieveInputBuffer e WdfRequestRetrieveUnsafeUserInputBuffer.

Modelo de driver: KMDF

Como testar

Em tempo de compilação

Execute o Verificador de Driver Estático e especifique a regra BufAfterReqCompletedIntIoctl .

Use as seguintes etapas para executar uma análise do 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 localizar defeitos em drivers.

Aplica-se a

WdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoostWdfRequestRetrieveInputBufferWdfRequestRetrieveOutputBufferWdfRequestRetrieveUnsafeUserInputBufferWdfRequestRetrieveUnsafeUserOutputBuffer