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:
- Gestione I/O non ha tentato di annullare la richiesta.
- Il driver chiamante non possiede la richiesta.
- Il driver chiamante ha chiamato il metodo WdfRequestMarkCancelable o WdfRequestMarkCancelableEx.
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) |