WdfRequestRequeue-Funktion (wdfrequest.h)

[Gilt für KMDF und UMDF]

Die WdfRequestRequeue-Methode gibt eine E/A-Anforderung an den Kopf der E/A-Warteschlange zurück, von der sie an den Treiber übermittelt wurde.

Syntax

NTSTATUS WdfRequestRequeue(
  [in] WDFREQUEST Request
);

Parameter

[in] Request

Ein Handle für ein Frameworkanforderungsobjekt.

Rückgabewert

WdfRequestRequeue gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt diese Methode möglicherweise einen der folgenden Werte zurück:

Rückgabecode Beschreibung
STATUS_INVALID_PARAMETER
Ein Eingabeparameter ist ungültig.
STATUS_INVALID_DEVICE_REQUEST
Dieser Wert wird zurückgegeben, wenn einer der folgenden Fehler auftritt:
  • Die angegebene E/A-Anforderung stammt nicht aus einer E/A-Warteschlange.
  • Der Treiber besitzt nicht die E/A-Anforderung.
  • Die Anforderung kann abgebrochen werden.
  • Die Dispatchmethode der Warteschlange ist nicht manuell.
 

Diese Methode gibt möglicherweise auch andere NTSTATUS-Werte zurück.

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

Hinweise

Ein Treiber kann WdfRequestRequeue nur aufrufen, wenn er die manuelle Verteilungsmethode für die E/A-Warteschlange verwendet.

Wenn der Treiber WdfRequestRequeue nach dem Aufruf von WdfIoQueuePurge aufruft, kann der ErneuteInqueue-Versuch erfolgreich sein, bevor die Bereinigung abgeschlossen ist. In Den Versionen 1.9 und früher von KMDF führt diese Sequenz zu einem Absturz des Betriebssystems. Dieses Problem wurde in KMDF Version 1.11 und höher behoben.

Weitere Informationen zu WdfRequestRequeue finden Sie unter Erneutes Stellen von E/A-Anforderungen.

Beispiele

Im folgenden Codebeispiel wird eine angegebene E/A-Anforderung an die Warteschlange zurückgegeben, von der der Treiber die Anforderung empfangen hat.

NTSTATUS status;

status = WdfRequestRequeue(request);

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), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)