Compartir a través de


Función WdfRequestIsCanceled (wdfrequest.h)

[Se aplica a KMDF y UMDF]

El método WdfRequestIsCanceled determina si el administrador de E/S ha intentado cancelar una solicitud de E/S especificada.

Sintaxis

BOOLEAN WdfRequestIsCanceled(
  [in] WDFREQUEST Request
);

Parámetros

[in] Request

Identificador de un objeto de solicitud de marco.

Valor devuelto

WdfRequestIsCanceled devuelve TRUE si el administrador de E/S ha intentado cancelar la solicitud de E/S especificada. Este método puede devolver TRUE incluso si el controlador que realiza la llamada no es el propietario de la solicitud. Si el controlador no posee la solicitud, no debe llamar a WdfRequestIsCanceled. Vea información adicional en Comentarios.

WdfRequestIsCanceled devuelve FALSE por uno de los siguientes motivos:

Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.

Comentarios

Si el controlador no ha llamado a WdfRequestMarkCancelable o WdfRequestMarkCancelableEx para registrar una función de devolución de llamada EvtRequestCancel , pero si desea que el controlador determine si el administrador de E/S ha intentado cancelar una solicitud de E/S, el controlador puede llamar a WdfRequestIsCanceled.

Si el controlador ha llamado a WdfRequestMarkCancelable o WdfRequestMarkCancelableEx, debe llamar a WdfRequestUnmarkCancelable antes de llamar a WdfRequestIsCanceled.

Un controlador puede llamar a WdfRequestIsCanceled para una solicitud solo si el controlador posee la solicitud de E/S.

Si WdfRequestIsCanceled devuelve TRUE, el controlador debe cancelar la solicitud llamando a WdfRequestComplete con un parámetro Status de STATUS_CANCELLED. Si el controlador intenta completar una solicitud que no posee, el controlador puede hacer que el sistema se bloquee.

Para obtener más información sobre WdfRequestIsCanceled, consulte Cancelación de solicitudes de E/S.

Ejemplos

En el ejemplo de código siguiente se llama a WdfRequestComplete si WdfRequestIsCanceled devuelve TRUE.

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

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1.0
Versión mínima de UMDF 2.0
Encabezado wdfrequest.h (incluir Wdf.h)
Library Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
Reglas de cumplimiento de DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), ReqIsCancOnCancReq(kmdf)

Consulte también

EvtRequestCancel

WdfRequestComplete

WdfRequestMarkCancelable

WdfRequestMarkCancelableEx

WdfRequestUnmarkCancelable