WdfIoQueueRetrieveRequestByFileObject, fonction (wdfio.h)
[S’applique à KMDF et UMDF]
La méthode WdfIoQueueRetrieveRequestByFileObject récupère la requête d’E/S disponible suivante, à partir d’une file d’attente d’E/S spécifiée, associée à un objet fichier spécifié.
Syntaxe
NTSTATUS WdfIoQueueRetrieveRequestByFileObject(
[in] WDFQUEUE Queue,
[in] WDFFILEOBJECT FileObject,
[out] WDFREQUEST *OutRequest
);
Paramètres
[in] Queue
Handle pour un objet de file d’attente d’infrastructure.
[in] FileObject
Handle pour un objet de fichier d’infrastructure.
[out] OutRequest
Pointeur vers un emplacement qui reçoit un handle vers un objet de demande d’infrastructure. Si WdfIoQueueRetrieveRequestByFileObject ne retourne pas STATUS_SUCCESS, il ne définit pas la valeur de l’emplacement.
Valeur retournée
WdfIoQueueRetrieveRequestByFileObject retourne STATUS_SUCCESS si l’opération réussit. Sinon, cette méthode peut retourner l’une des valeurs suivantes :
Code de retour | Description |
---|---|
|
Le pilote a fourni un handle non valide. |
|
Le framework a atteint la fin de la file d’attente d’E/S. |
|
La file d’attente d’E/S spécifiée est configurée pour la méthode de distribution parallèle. |
|
La file d’attente d’E/S spécifiée est gérée par l’alimentation et son appareil est dans un état de faible consommation. |
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 qui a configuré une file d’attente d’E/S pour la distribution manuelle ou séquentielle peut appeler WdfIoQueueRetrieveRequestByFileObject. Pour plus d’informations sur l’utilisation de WdfIoQueueRetrieveRequestByFileObject avec les méthodes de répartition manuelles ou séquentielles, consultez Méthodes de répartition pour les demandes d’E/S.
Après avoir appelé WdfIoQueueRetrieveRequestByFileObject pour obtenir une demande d’E/S, le pilote est propriétaire de la demande et doit traiter la demande d’E/ S d’une manière ou d’une autre.
Pour plus d’informations sur la méthode WdfIoQueueRetrieveRequestByFileObject , consultez Gestion des files d’attente d’E/S.
Exemples
L’exemple de code suivant obtient, à partir d’une file d’attente d’E/S spécifiée, un handle vers l’objet de requête d’infrastructure suivant associé à un objet de fichier d’infrastructure spécifié.
WDFREQUEST request;
status = WdfIoQueueRetrieveRequestByFileObject(
queue,
fileObject,
&request
);
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
Version KMDF minimale | 1.0 |
Version UMDF minimale | 2.0 |
En-tête | wdfio.h (inclure 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) |