Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O subsistema Winsock Kernel (WSK) pode notificar de forma assíncrona um aplicativo WSK quando determinados eventos de soquete ocorrem, como quando novos dados foram recebidos em um soquete ou quando um soquete foi desconectado. Para que um aplicativo WSK seja notificado de forma assíncrona de eventos de soquete, o aplicativo WSK deve implementar as funções de retorno de chamada de evento apropriadas e habilitar essas funções de retorno de chamada de evento nos soquetes que ele cria.
Observação Um aplicativo WSK não é necessário para implementar ou usar funções de retorno de chamada de eventos. Um aplicativo WSK pode executar a maioria das operações de soquete WSK chamando as funções de soquete WSK apropriadas. A única funcionalidade do WSK que requer o uso de funções de retorno das chamadas de eventos é o modo de aceitação condicional em soquetes de escuta. Para obter mais informações sobre as vantagens e desvantagens entre usar funções WSK versus usar funções de retorno de chamada de evento, consulte Usando funções do kernel Winsock vs. funções de retorno de chamada de evento.
Cada categoria de soquete WSK suporta um conjunto diferente de eventos de soquete.
Soquetes básicos
Os soquetes básicos não suportam nenhum evento de soquete.
Soquetes de escuta
| Evento | Função de callback de evento |
|---|---|
Uma conexão de entrada foi aceita. |
|
Uma solicitação de conexão de entrada chegou. |
|
Uma solicitação de conexão de entrada foi descartada. |
* Aplica-se apenas a soquetes de escuta que têm o modo de aceitação condicional ativado. Para obter mais informações sobre como usar o modo de aceitação condicional com soquetes de escuta, consulte Escutando e aceitando conexões de entrada.
Soquetes de datagrama
| Evento | Função de callback de evento |
|---|---|
Foram recebidos um ou mais novos datagramas. |
Soquetes orientados à conexão
| Evento | Função de callback de evento |
|---|---|
Foram recebidos novos dados. |
|
O soquete foi desconectado. |
|
O tamanho ideal da lista de pendências de envio mudou. |
Quando um aplicativo WSK cria um soquete, as funções de retorno de chamada de evento do soquete são desabilitadas por padrão. Um aplicativo WSK deve habilitar as funções de retorno de chamada de eventos de um soquete para que o subsistema WSK chame as funções de retorno de chamada de eventos do soquete quando ocorrerem eventos de soquete. Para obter mais informações sobre como habilitar e desabilitar as funções de retorno de chamada de eventos de um soquete, consulte Habilitando e desabilitando funções de retorno de chamada de eventos.
Se um aplicativo WSK registrar uma interface de extensão para um soquete, a interface de extensão poderá oferecer suporte a eventos adicionais. Para obter mais informações sobre como registrar uma interface de extensão para um soquete, consulte Registrando uma interface de extensão.
O subsistema WSK também pode notificar um aplicativo WSK de eventos que não são específicos de um soquete específico. Para que um aplicativo WSK seja notificado desses eventos, o aplicativo WSK deve implementar uma função de retorno de chamada de evento WskClientEvent . Atualmente, não há eventos definidos que não sejam específicos de um soquete específico. A aplicação WSK tem a função de retorno de chamada de evento WskClientEvent sempre habilitada e não pode ser desabilitada.
As funções de retorno de chamada de evento de um aplicativo WSK não devem aguardar a conclusão de outras solicitações WSK no contexto da conclusão do WSK ou das funções de retorno de chamada de eventos. A função de retorno de chamada pode iniciar outras solicitações WSK, assumindo que não gasta muito tempo em DISPATCH_LEVEL ou esgota a pilha do kernel, mas não deve esperar pela sua conclusão, mesmo quando a função de retorno de chamada é chamada em IRQL = PASSIVE_LEVEL.