Objetos de evento (Windows Sockets 2)

A introdução à e/s sobreposta exige um mecanismo para que os aplicativos associem de forma não ambígua as solicitações de envio e recebimento às suas indicações de conclusão subsequentes. No Windows Sockets 2, isso é feito com objetos de evento que são modelados após eventos do Windows. Os objetos de evento do Windows Sockets são construções bastante simples que podem ser criados e fechados, definidos e limpos, e aguardados e sondados. Seu principal utilitário é a capacidade de um aplicativo bloquear e aguardar até que um ou mais objetos de evento sejam definidos.

Os aplicativos usam WSACreateEvent para obter um identificador de objeto de evento que pode ser fornecido como um parâmetro necessário para as versões sobrepostas de chamadas de envio e recebimento ( WSASend, WSASendTo, WSARecv, WSARecvFrom). O objeto de evento, que é limpo quando criado pela primeira vez, é definido pelos provedores de transporte quando a operação de e/s sobreposta associada é concluída (com êxito ou com erros). Cada objeto de evento criado pelo WSACreateEvent deve ter um WSACloseEvent correspondente para destruí-lo.

Os objetos de evento também são usados em WSAEventSelect para associar um ou mais _ eventos de rede FD xxx a um objeto de evento. Isso é descrito em notificação assíncrona usando objetos de evento.

Em ambientes de 32 bits, as funções relacionadas a objeto de evento, incluindo WSACreateEvent, WSACloseEvent, WSASetEvent, WSAResetEvente WSAWaitForMultipleEvents são diretamente mapeadas para as funções nativas do Windows correspondentes, usando o mesmo nome de função, mas sem o prefixo de WSA.