Objets d’événement (Sockets Windows 2)

L’introduction d’E/S qui se chevauchent nécessite un mécanisme permettant aux applications d’associer sans ambiguïté les demandes d’envoi et de réception à leurs indications d’achèvement ultérieures. Dans les sockets Windows 2, cela s’effectue avec des objets d’événement modélisés après les événements Windows. Les objets d’événements Windows Sockets sont des constructions assez simples qui peuvent être créées et fermées, définies et effacées, et attendre et interrogées. Leur principal utilitaire est la capacité d’une application à bloquer et à attendre qu’un ou plusieurs objets d’événement soient définis.

Les applications utilisent WSACreateEvent pour obtenir un handle d’objet d’événement qui peut ensuite être fourni en tant que paramètre requis pour les versions d’envoi et de réception qui se chevauchent (WSASend, WSASendTo, WSARecvFrom). L’objet d’événement, qui est effacé lors de sa création, est défini par les fournisseurs de transport une fois l’opération d’E/S superposée associée (avec succès ou avec des erreurs). Chaque objet d’événement créé par WSACreateEvent doit avoir un WSACloseEvent correspondant pour le détruire.

Les objets event sont également utilisés dans WSAEventSelect pour associer un ou plusieurs événements réseau FD_XXX à un objet d’événement. Cela est décrit dans Notification asynchrone à l’aide d’objets d’événement.

Dans les environnements 32 bits, les fonctions liées aux objets d’événement, notamment WSACreateEvent, WSACloseEvent, WSASetEvent, WSAResetEvent et WSAWaitForMultipleEvent sont directement mappées aux fonctions Windows natives correspondantes, à l’aide du même nom de fonction, mais sans le préfixe WSA.