Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
[S’applique à KMDF et UMDF]
La méthode WdfIoQueueRetrieveNextRequest récupère la requête d’E/S disponible suivante à partir d’une file d’attente d’E/S spécifiée.
Syntaxe
NTSTATUS WdfIoQueueRetrieveNextRequest(
[in] WDFQUEUE Queue,
[out] WDFREQUEST *OutRequest
);
Paramètres
[in] Queue
Handle vers un objet de file d’attente framework.
[out] OutRequest
Pointeur vers un emplacement qui reçoit un handle vers un objet de requête framework. Si la file d’attente est vide ou si la dernière requête a été récupérée, ce paramètre reçoit NULL.
Valeur de retour
WdfIoQueueRetrieveNextRequest retourne STATUS_SUCCESS si l’opération réussit. Sinon, cette méthode peut retourner l’une des valeurs suivantes :
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
Si un pilote configure une file d’attente d’E/S pour la répartition manuelle des demandes d’E/S, le pilote appelle généralement WdfIoQueueRetrieveNextRequest pour obtenir des requêtes à partir de la file d’attente. Un pilote qui a configuré une file d’attente d’E/S pour la répartition séquentielle peut également appeler WdfIoQueueRetrieveNextRequest. Pour plus d’informations sur l’utilisation de WdfIoQueueRetrieveNextRequest avec les méthodes de répartition manuelles ou séquentielles, consultez Méthodes de répartition pour les requêtes d’E/S.
Après avoir appelé WdfIoQueueRetrieveNextRequest pour obtenir une demande d’E/S, le pilote possède la demande et doit traiter la demande d’E/S d’une certaine manière.
Pour plus d’informations sur la méthode WdfIoQueueRetrieveNextRequest, consultez Gestion des files d’attente d’E/S.
Exemples
L’exemple de code suivant obtient un handle à l’objet de requête suivant contenu dans la file d’attente d’E/S d’un appareil.
NTSTATUS status;
WDFREQUEST request;
status = WdfIoQueueRetrieveNextRequest(
pDeviceContext->ReadQueue,
&request
);
Spécifications
Besoin | Valeur |
---|---|
plateforme cible | Universel |
version minimale de KMDF | 1.0 |
version minimale de UMDF | 2.0 |
En-tête | wdfio.h (include Wdf.h) |
Bibliothèque | Wdf01000.sys (KMDF) ; WUDFx02000.dll (UMDF) |
IRQL | <= DISPATCH_LEVEL |
règles de conformité DDI | DoubleCompletion(kmdf), DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), wdfioqueueretrievenextrequest, WdfIoQueueRetrieveNextRequest(kmdf) |