Partager via


Fonction WdfRequestRequeue (wdfrequest.h)

[S’applique à KMDF et UMDF]

La méthode WdfRequestRequeue retourne une demande d’E/S au début de la file d’attente d’E/S à partir de laquelle elle a été remise au pilote.

Syntaxe

NTSTATUS WdfRequestRequeue(
  [in] WDFREQUEST Request
);

Paramètres

[in] Request

Handle d’un objet de requête d’infrastructure.

Valeur retournée

WdfRequestRequeue retourne STATUS_SUCCESS si l’opération réussit. Sinon, cette méthode peut retourner l’une des valeurs suivantes :

Code de retour Description
STATUS_INVALID_PARAMETER
Un paramètre d’entrée n’est pas valide.
STATUS_INVALID_DEVICE_REQUEST
Cette valeur est retournée si l’une des opérations suivantes se produit :
  • La demande d’E/S spécifiée ne provient pas d’une file d’attente d’E/S.
  • Le pilote n’est pas propriétaire de la demande d’E/S.
  • La demande est annulable.
  • La méthode de répartition de la file d’attente n’est pas manuelle.
 

Cette méthode peut également retourner d’autres valeurs NTSTATUS.

Un bogue case activée se produit si le pilote fournit un handle d’objet non valide.

Remarques

Un pilote peut appeler WdfRequestRequeue uniquement s’il utilise la méthode de répartition manuelle pour la file d’attente d’E/S.

Si le pilote appelle WdfRequestRequeue après avoir appelé WdfIoQueuePurge, la tentative de mise en file d’attente peut réussir avant la fin de la purge. Dans les versions 1.9 et antérieures de KMDF, cette séquence provoque le blocage du système d’exploitation. Ce problème est résolu dans KMDF version 1.11 et ultérieure.

Pour plus d’informations sur WdfRequestRequeue, consultez Demandes d’E/S de nouvelle file d’attente.

Exemples

L’exemple de code suivant retourne une demande d’E/S spécifiée à la file d’attente à partir de laquelle le pilote a reçu la demande.

NTSTATUS status;

status = WdfRequestRequeue(request);

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
Version UMDF minimale 2.0
En-tête wdfrequest.h (include Wdf.h)
Bibliothèque Wdf01000.sys (KMDF) ; WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
Règles de conformité DDI DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)