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:
- Der E/A-Manager hat nicht versucht, die Anforderung abzubrechen.
- Der aufrufende Treiber ist nicht besitzer der Anforderung.
- Der aufrufende Treiber hat die WdfRequestMarkCancelable - oder WdfRequestMarkCancelableEx-Methode aufgerufen.
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) |