Partager via


WdfRequestRequeue, fonction (wdfrequest.h)

[S’applique à KMDF et UMDF]

La méthode WdfRequestRequeue retourne une requête d’E/S à la tête 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 vers un objet de requête de framework.

Valeur de retour

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

Retourner le code 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 ne possède pas 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 .

Une vérification de bogue 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 remise en file d’attente peut réussir avant la fin du vidage. 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 rééquetage .

Exemples

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

NTSTATUS status;

status = WdfRequestRequeue(request);

Exigences

Exigence Valeur
plateforme cible Universel
version minimale de KMDF 1.0
version minimale de UMDF 2.0
d’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)