Função WdfRequestSetCompletionRoutine (wdfrequest.h)
[Aplica-se a KMDF e UMDF]
O método WdfRequestSetCompletionRoutine registra ou desregistro uma rotina de conclusão para o objeto de solicitação de estrutura especificado.
Sintaxe
void WdfRequestSetCompletionRoutine(
[in] WDFREQUEST Request,
[in, optional] PFN_WDF_REQUEST_COMPLETION_ROUTINE CompletionRoutine,
[in, optional] __drv_aliasesMem WDFCONTEXT CompletionContext
);
Parâmetros
[in] Request
Um identificador para um objeto de solicitação de estrutura.
[in, optional] CompletionRoutine
Um ponteiro para uma função CompletionRoutine de retorno de chamada, se o driver estiver registrando uma rotina de conclusão ou NULL do driver estiver desregistrando uma rotina de conclusão registrada anteriormente.
[in, optional] CompletionContext
Um ponteiro não tipado para informações de contexto definidas pelo driver que a estrutura passa para a função de retorno de chamada CompletionRoutine. Esse parâmetro é opcional e pode ser NULL.
Valor de retorno
Nenhum
Observações
Uma verificação de bug ocorre se o driver fornece um identificador de objeto inválido.
Se o driver encaminhar solicitações de E/S, mas se você quiser que seu driver seja notificado quando um driver de nível inferior concluir a solicitação, o driver poderá fornecer uma função de retorno de chamada CompletionRoutine e chamar WdfRequestSetCompletionRoutine para registrar a função. A estrutura chama a função de retorno de chamada depois que um driver de nível inferior conclui a solicitação de E/S.
Para obter mais informações sobre WdfRequestSetCompletionRoutine, consulte Concluindo solicitações de E/S.
Exemplos
Para obter um exemplo de código que usa WdfRequestSetCompletionRoutine, consulte WdfRequestSend.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Universal |
versão mínima do KMDF | 1.0 |
versão mínima do UMDF | 2.0 |
cabeçalho | wdfrequest.h (inclua Wdf.h) |
biblioteca | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
regras de conformidade de DDI | DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrqKmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), ReqCompletionRoutine(kmdf) |