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 zu einem Framework-Anforderungsobjekt.
Rückgabewert
WdfRequestIsCanceled gibt TRUE zurück, wenn der E/A-Manager versucht hat, die angegebene E/A-Anforderung abzubrechen. Diese Methode kann TRUE- zurückgeben, auch wenn der aufrufende Treiber die Anforderung nicht besitzt. Wenn der Treiber die Anforderung nicht besitzt, sollte er nicht WdfRequestIsCanceledaufrufen. Weitere Informationen finden Sie in den Anmerkungen.
WdfRequestIsCanceled gibt FALSE- aus einem der folgenden Gründe zurück:
- Der E/A-Manager hat nicht versucht, die Anforderung abzubrechen.
- Der aufrufende Treiber besitzt die Anforderung nicht.
- Der aufrufende Treiber hat die WdfRequestMarkCancelable oder WdfRequestMarkCancelableEx- methode aufgerufen.
Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.
Bemerkungen
Wenn Ihr Treiber WdfRequestMarkCancelable oder WdfRequestMarkCancelable Ex nicht aufgerufen hat, um eine EvtRequestCancel Rückruffunktion zu registrieren, aber wenn Sie möchten, dass ihr Treiber ermitteln soll, ob der E/A-Manager versucht hat, eine E/A-Anforderung abzubrechen, kann der Treiber WdfRequestIsCanceledaufrufen.
Wenn der Treiber WdfRequestMarkCancelable oder WdfRequestMarkCancelableEx-aufgerufen hat, muss er WdfRequestUnmarkCancelable- aufrufen, bevor WdfRequestIsCanceledaufgerufen wird.
Ein Treiber kann WdfRequestIsCanceled- nur aufrufen, wenn der Treiber der E/A-Anforderung besitzt.
Wenn WdfRequestIsCanceledTRUEzurückgibt, sollte der Treiber die Anforderung abbrechen, indem WdfRequestComplet e mit einem Status Parameter von STATUS_CANCELLED aufgerufen wird. 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 WdfRequestIsCanceledfinden 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- | Universal |
Minimale KMDF-Version | 1.0 |
Mindest-UMDF-Version | 2.0 |
Header- | wdfrequest.h (include Wdf.h) |
Library | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL- | <=DISPATCH_LEVEL |
DDI-Complianceregeln | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), ReqIsCancOnCancReq(kmdf) |