Obtention d’informations sur une demande d’E/S
Avant de traiter une demande d’E/S, un pilote doit déterminer le type de requête. Lorsqu’un pilote basé sur l’infrastructure crée des files d’attente d’E/S pour un appareil, il configure généralement les files d’attente d’E/S et les gestionnaires de requêtes afin que chaque gestionnaire de file d’attente ou de requête reçoive des requêtes d’un type particulier (contrôle de lecture, d’écriture ou d’E/S d’appareil).
Après avoir déterminé le type de requête, le pilote doit obtenir les mémoires tampons d’entrée et de sortie de la demande, si nécessaire. Pour plus d’informations sur l’obtention des mémoires tampons d’une requête, consultez Accès aux mémoires tampons de données dans les pilotes Framework-Based.
Pour fournir des informations supplémentaires sur une demande d’E/S reçue par un pilote, l’objet de demande d’infrastructure définit les méthodes suivantes :
WdfRequestGetIoQueue, qui retourne un handle à la file d’attente d’E/S à partir de laquelle la demande d’E/S a été remise.
WdfRequestGetRequestOrMode, qui retourne le mode d’accès au processeur (utilisateur ou noyau) de l’initiateur de la demande.
WdfRequestGetFileObject, qui retourne un handle à l’objet de fichier framework associé à la requête.
WdfRequestWdmGetIrp, qui retourne la structure IRP WDM associée à la requête.
WdfRequestGetParameters, qui récupère les paramètres de requête non-IRP au format WDM.
Une fois qu’un pilote a terminé une demande d’E/S, d’autres pilotes de la pile de pilotes peuvent appeler des méthodes d’objet de requête supplémentaires pour obtenir les informations d’achèvement de la demande. Pour plus d’informations sur ces méthodes supplémentaires, consultez Terminer les demandes d’E/S.