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:
- 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 .
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) |