Função WdfRequestSetCompletionRoutine (wdfrequest.h)
[Aplica-se a KMDF e UMDF]
O método WdfRequestSetCompletionRoutine registra ou desregistros 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 de retorno de chamada CompletionRoutine , 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.
Retornar valor
Nenhum
Comentários
Um bug marcar ocorrerá se o driver fornecer um identificador de objeto inválido.
Se o driver encaminhar solicitações de E/S, mas se você quiser que o 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 |
---|---|
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), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), ReqCompletionRoutine(kmdf) |