Opérations superposées

Les opérations superposées permettent à un thread d’effectuer une opération d’E/S fastidieuse en arrière-plan, laissant le thread libre pour effectuer d’autres tâches. Pour activer les opérations d’E/S superposées sur une ressource de communication, le thread doit spécifier l’indicateur FILE_FLAG_OVERLAPPED dans la fonction CreateFile lorsque le handle est ouvert. Pour exécuter le ReadFile ou fonction WriteFile en tant qu’opération superposée, le thread appelant doit spécifier un pointeur vers une structureSE CHEVAUCHER. La structure de SUPERPOSÉE doit contenir un handle pour un objet d’événement de réinitialisation manuelle (et non de réinitialisation automatique). Le système définit l’état de l’objet d’événement à signaler lorsqu’un appel à la fonction d’E/S retourne avant la fin de l’opération. Le système définit l’état de l’objet d’événement à signaler une fois l’opération terminée. Le thread utilise une fonction d’attente pour vérifier l’état actuel de l’objet événement ou pour attendre que son état soit signalé.

Les fonctionsReadFileExet WriteFileEx ne peuvent être effectuées que comme opérations superposées. Le thread appelant spécifie un pointeur vers la fonction FileIOCompletionRoutine, qui est effectuée lorsque l’opération se chevauche. La routine d’achèvement est exécutée uniquement si le thread appelant effectue une opération alertable.

Pour plus d’informations sur les objets d’événements, les fonctions d’attente, les attentes alertables et les routines d’achèvement, consultez À propos de la synchronisation.