Compartilhar via


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.

Retornar valor

WdfRequestIsCanceled retornaráTRUE se o gerente de E/S tiver tentado cancelar a solicitação de E/S especificada. Esse método pode retornar TRUE mesmo que o driver de chamada não possua a solicitação. Se o driver não possuir a solicitação, ele não deverá chamar WdfRequestIsCanceled. Confira informações adicionais nos Comentários.

WdfRequestIsCanceled retorna FALSE por um dos seguintes motivos:

Um bug marcar ocorrerá se o driver fornecer um identificador de objeto inválido.

Comentários

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 o driver determine se o gerenciador de E/S tentou cancelar uma solicitação de E/S, o driver poderá 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 a 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á fazer com que o sistema falhe.

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 TRUE.

if (WdfRequestIsCanceled(request)) {
    WdfRequestComplete(
                       request,
                       STATUS_CANCELLED
                       );
}

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 da DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), ReqIsCancOnCancReq(kmdf)

Confira também

EvtRequestCancel

WdfRequestComplete

WdfRequestMarkCancelable

WdfRequestMarkCancelableEx

WdfRequestUnmarkCancelable