Remarque
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.
Lorsque le gestionnaire d’E/S envoie une requête d’E/S à un pilote basé sur l’infrastructure, l’infrastructure intercepte la requête et crée un objet de requête d’infrastructure. L’infrastructure « possède » l’objet de requête, car seul l’infrastructure peut accéder à la requête et effectuer des opérations sur l’objet.
Une fois que l’infrastructure a créé un objet de requête, il place l’objet dans l’une des files d’attente d’E/S du pilote. L’infrastructure continue de posséder l’objet de requête jusqu’à ce qu’elle supprime la demande de la file d’attente et la remet au pilote.
Une fois que le pilote reçoit l’objet de requête, il possède la requête. Le pilote peut accéder à l’objet de requête via un handle et effectuer des opérations sur l’objet. Alors que le pilote possède l’objet de requête qu’il peut requeuter, terminer, annuler ou transférer la requête, après quoi il ne possède plus l’objet de requête et ne peut pas y accéder.
Lorsque la propriété d’un objet de requête passe entre un pilote et le framework, la valeur du handle de l'objet ne change pas. Par exemple, si un pilote reçoit une demande d’une file d’attente d’E/S, la requeue vers une autre file d’attente, puis reçoit à nouveau la requête, la valeur du handle ne change pas. De même, si un pilote transfère une demande à une cible d’E/S et reçoit ultérieurement une notification indiquant que la cible d’E/S a terminé la demande, la fonction de rappel de notification du pilote reçoit la même valeur de handle que celle fournie par le pilote à la cible d’E/S.