Condividi tramite


Funzione WdfRequestIsCanceled (wdfrequest.h)

[Si applica a KMDF e UMDF]

Il metodo WdfRequestIsCanceled determina se la gestione I/O ha tentato di annullare una richiesta di I/O specificata.

Sintassi

BOOLEAN WdfRequestIsCanceled(
  [in] WDFREQUEST Request
);

Parametri

[in] Request

Handle per un oggetto richiesta framework.

Valore restituito

WdfRequestIsCanceled restituisce TRUE se la gestione I/O ha tentato di annullare la richiesta di I/O specificata. Questo metodo può restituire TRUE anche se il driver chiamante non possiede la richiesta. Se il driver non possiede la richiesta, non deve chiamare WdfRequestIsCanceled. Vedere altre informazioni nelle osservazioni.

WdfRequestIsCanceled restituisce FALSE per uno dei motivi seguenti:

Un controllo di bug si verifica se il driver fornisce un handle di oggetti non valido.

Commenti

Se il driver non ha chiamato WdfRequestMarkCancelable o WdfRequestMarkCancelableEx per registrare una funzione di callback EvtRequestCancel , ma se si vuole che il driver abbia tentato di annullare una richiesta di I/O, il driver può chiamare WdfRequestIsCanceled.

Se il driver ha chiamato WdfRequestMarkCancelable o WdfRequestMarkCancelableEx, deve chiamare WdfRequestUnmarkCancelable prima di chiamare WdfRequestIsCanceled.

Un driver può chiamare WdfRequestIsCanceled per una richiesta solo se il driver possiede la richiesta di I/O.

Se WdfRequestIsCanceled restituisce TRUE, il driver deve annullare la richiesta chiamando WdfRequestComplete con un parametro Status di STATUS_CANCELLED. Se il driver tenta di completare una richiesta che non è proprietaria, il driver può causare l'arresto anomalo del sistema.

Per altre informazioni su WdfRequestIsCanceled, vedere Annullamento delle richieste di I/O

Esempio

Nell'esempio di codice seguente viene chiamato WdfRequestComplete se WdfRequestIsCanceled restituisce TRUE.

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

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Versione KMDF minima 1,0
Versione UMDF minima 2,0
Intestazione wdfrequest.h (include Wdf.h)
Libreria Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
Regole di conformità DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), ReqIsCancOnCancReq(kmdf)

Vedi anche

EvtRequestCancel

WdfRequestComplete

WdfRequestMarkCancelable

WdfRequestMarkCancelableEx

WdfRequestUnmarkCancelable