Freigeben über


WdfRequestIsCanceled-Funktion (wdfrequest.h)

[Gilt für KMDF und UMDF]

Die WdfRequestIsCanceled-Methode bestimmt, ob der E/A-Manager versucht hat, eine angegebene E/A-Anforderung abzubrechen.

Syntax

BOOLEAN WdfRequestIsCanceled(
  [in] WDFREQUEST Request
);

Parameter

[in] Request

Ein Handle für ein Frameworkanforderungsobjekt.

Rückgabewert

WdfRequestIsCanceled gibt TRUE zurück, wenn der E/A-Manager versucht hat, die angegebene E/A-Anforderung abzubrechen. Diese Methode gibt möglicherweise TRUE zurück, auch wenn der aufrufende Treiber nicht der Besitzer der Anforderung ist. Wenn der Treiber nicht besitzer der Anforderung ist, sollte er WdfRequestIsCanceled nicht aufrufen. Weitere Informationen finden Sie unter Hinweise.

WdfRequestIsCanceled gibt aus einem der folgenden Gründe FALSE zurück:

Eine Fehlerüberprüfung tritt auf, wenn der Treiber ein ungültiges Objekthandle bereitstellt.

Hinweise

Wenn Ihr Treiber WdfRequestMarkCancelable oder WdfRequestMarkCancelableEx nicht aufgerufen hat, um eine EvtRequestCancel-Rückruffunktion zu registrieren, aber wenn Sie möchten, dass Ihr Treiber feststellen soll, ob der E/A-Manager versucht hat, eine E/A-Anforderung abzubrechen, kann der Treiber WdfRequestIsCanceled aufrufen.

Wenn der Treiber WdfRequestMarkCancelable oder WdfRequestMarkCancelableEx aufgerufen hat, muss er WdfRequestUnmarkCancelable aufrufen, bevor WdfRequestIsCanceled aufgerufen wird.

Ein Treiber kann WdfRequestIsCanceled nur für eine Anforderung aufrufen, wenn der Treiber besitzer der E/A-Anforderung ist.

Wenn WdfRequestIsCanceledTRUE zurückgibt, sollte ihr Treiber die Anforderung abbrechen, indem er WdfRequestComplete mit dem Status-Parameter STATUS_CANCELLED aufruft. Wenn der Treiber versucht, eine Anforderung abzuschließen, die er nicht besitzt, kann der Treiber dazu führen, dass das System abstürzt.

Weitere Informationen zu WdfRequestIsCanceled finden Sie unter Abbrechen von E/A-Anforderungen.

Beispiele

Im folgenden Codebeispiel wird WdfRequestComplete aufgerufen, wenn WdfRequestIsCanceledTRUE zurückgibt.

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

Anforderungen

Anforderung Wert
Zielplattform Universell
KMDF-Mindestversion 1.0
UMDF-Mindestversion 2.0
Kopfzeile wdfrequest.h (include Wdf.h)
Bibliothek Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
DDI-Complianceregeln DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), ReqIsCancOnCancReq(kmdf)

Weitere Informationen

EvtRequestCancel

WdfRequestComplete

WdfRequestMarkCancelable

WdfRequestMarkCancelableEx

WdfRequestUnmarkCancelable