IWDFIoQueue ::RetrieveNextRequestByFileObject, méthode (wudfddi.h)
Avertissement
UMDF 2 est la dernière version de UMDF et remplace UMDF 1. Tous les nouveaux pilotes UMDF doivent être écrits à l’aide de UMDF 2. Aucune nouvelle fonctionnalité n’est ajoutée à UMDF 1 et il existe une prise en charge limitée de UMDF 1 sur les versions plus récentes de Windows 10. Les pilotes Windows universels doivent utiliser UMDF 2. Pour plus d’informations, consultez Prise en main de UMDF.
La méthode RetrieveNextRequestByFileObject récupère à partir d’une file d’attente d’E/S la requête d’E/S suivante dont l’objet de fichier correspond à l’objet de fichier spécifié.
Syntaxe
HRESULT RetrieveNextRequestByFileObject(
[in] IWDFFile *pFile,
[out] IWDFIoRequest **ppRequest
);
Paramètres
[in] pFile
Pointeur vers l’interface IWDFFile pour l’objet de fichier utilisé pour récupérer la requête d’E/S suivante dont l’objet de fichier correspond à cet objet de fichier fourni.
[out] ppRequest
Pointeur vers une mémoire tampon qui reçoit un pointeur vers l’interface IWDFIoRequest pour l’objet de requête suivant dont l’objet de fichier correspond à l’objet de fichier fourni, ou reçoit NULL si la file d’attente est vide ou si la requête suivante est introuvable.
Valeur de retour
RetrieveNextRequestByFileObject retourne l’une des valeurs suivantes :
Retourner le code | Description |
---|---|
S_OK | La requête d’E/S suivante a été récupérée à partir de la file d’attente d’E/S. |
HRESULT_FROM_NT(STATUS_WDF_PAUSED) | La file d’attente ne répartit pas les demandes. Cette situation se produit si l’appareil subit une transition d’état d’alimentation et que toutes les files d’attente sont arrêtées de distribuer des demandes ou si le pilote a explicitement appelé IWDFIoQueue ::Stop pour arrêter la distribution des demandes. Cette situation peut également se produire si le pilote tente de supprimer une demande d’une file d’attente manuelle gérée par l’alimentation et qui est sous tension ou si la file d’attente est suspendue. |
HRESULT_FROM_WIN32(ERROR_NO_MORE_ITEMS) | Aucune demande n’était dans la file d’attente. |
HRESULT_FROM_NT(STATUS_INVALID_DEVICE_STATE) | L’appel a été effectué pour récupérer la requête à partir d’une file d’attente parallèle. |
RetrieveNextRequestByFileObject peut également retourner d’autres valeurs HRESULT.
Remarques
Si un pilote configure une file d’attente d’E/S pour la répartition manuelle des demandes d’E/S, le pilote peut appeler la méthode RetrieveNextRequestByFileObject pour obtenir la requête suivante dont l’objet de fichier correspond à l’objet de fichier fourni à partir de la file d’attente. Pour plus d’informations sur la répartition manuelle des demandes d’E/S, consultez Configuration du mode de distribution pour une file d’attente d’E/S.
Si plusieurs requêtes d’E/S dont les objets de fichier correspondent à l’objet de fichier que le paramètre pFile pointe d’exister dans la file d’attente d’E/S, la première requête d’E/S est retournée.
Exemples
Pour obtenir un exemple de code montrant comment utiliser la méthode RetrieveNextRequestByFileObject, consultez IWDFIoQueue ::RetrieveNextRequest.
Exigences
Exigence | Valeur |
---|---|
fin du support | Indisponible dans UMDF 2.0 et versions ultérieures. |
plateforme cible | Bureau |
version minimale de UMDF | 1.5 |
d’en-tête | wudfddi.h (include Wudfddi.h) |
DLL | WUDFx.dll |
Voir aussi
- IWDFFile
- IWDFIoQueue
- IWDFIoQueue ::RetrieveNextRequest
- IWDFIoQueue ::Stop
- IWDFIoRequest