Função WdfRequestIsCanceled (wdfrequest.h)
[Aplica-se a KMDF e UMDF]
O método WdfRequestIsCanceled determina se o gerente de E/S tentou cancelar uma solicitação de E/S especificada.
Sintaxe
BOOLEAN WdfRequestIsCanceled(
[in] WDFREQUEST Request
);
Parâmetros
[in] Request
Um identificador para um objeto de solicitação de estrutura.
Valor de retorno
WdfRequestIsCanceled retornará verdadeiro se o gerente de E/S tiver tentado cancelar a solicitação de E/S especificada. Esse método pode retornar verdadeiro mesmo que o driver de chamada não possua a solicitação. Se o driver não possui a solicitação, ele não deve chamar WdfRequestIsCanceled. Consulte informações adicionais em Comentários.
WdfRequestIsCanceled retorna FALSE por um dos seguintes motivos:
- O gerente de E/S não tentou cancelar a solicitação.
- O driver de chamada não possui a solicitação.
- O driver de chamada chamou o método WdfRequestMarkCancelable ou WdfRequestMarkCancelableEx.
Uma verificação de bug ocorre se o driver fornece um identificador de objeto inválido.
Observações
Se o driver não tiver chamado WdfRequestMarkCancelable ou WdfRequestMarkCancelableEx para registrar uma função de retorno de chamada EvtRequestCancel, mas se você quiser que seu driver determine se o gerente de E/S tentou cancelar uma solicitação de E/S, o driver pode chamar WdfRequestIsCanceled.
Se o driver tiver chamado WdfRequestMarkCancelable ou WdfRequestMarkCancelableEx, ele deverá chamar WdfRequestUnmarkCancelable antes de chamar WdfRequestIsCanceled.
Um driver pode chamar WdfRequestIsCanceled para uma solicitação somente se o driver possuir solicitação de E/S.
Se WdfRequestIsCanceled retornar TRUE, o driver deverá cancelar a solicitação chamando WdfRequestComplete com um parâmetro Status de STATUS_CANCELLED. Se o driver tentar concluir uma solicitação que ele não possui, o driver poderá causar uma falha no sistema.
Para obter mais informações sobre WdfRequestIsCanceled, consulte cancelando solicitações de E/S
Exemplos
O exemplo de código a seguir chama WdfRequestComplete se WdfRequestIsCanceled retornar VERDADEIRO.
if (WdfRequestIsCanceled(request)) {
WdfRequestComplete(
request,
STATUS_CANCELLED
);
}
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), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), ReqIsCancOnCancReq(kmdf) |