Função de retorno de chamada LPWSPENUMNETWORKEVENTS (ws2spi.h)
A função LPWSPEnumNetworkEvents relata ocorrências de eventos de rede para o soquete indicado.
Sintaxe
LPWSPENUMNETWORKEVENTS Lpwspenumnetworkevents;
int Lpwspenumnetworkevents(
[in] SOCKET s,
[in] WSAEVENT hEventObject,
[out] LPWSANETWORKEVENTS lpNetworkEvents,
[out] LPINT lpErrno
)
{...}
Parâmetros
[in] s
Descritor que identifica o soquete.
[in] hEventObject
Identificador opcional que identifica um objeto de evento associado a ser redefinido.
[out] lpNetworkEvents
Ponteiro para uma estrutura WSANETWORKEVENTS que é preenchida com um registro de eventos de rede ocorridos e quaisquer códigos de erro associados. A estrutura WSANETWORKEVENTS é definida no texto a seguir.
[out] lpErrno
Ponteiro para o código de erro.
Retornar valor
O valor retornado será zero se a operação tiver sido bem-sucedida. Caso contrário, o valor SOCKET_ERROR será retornado e um número de erro específico estará disponível no lpErrno.
Código do Erro | Significado |
---|---|
O subsistema de rede falhou. | |
Indica que um dos parâmetros especificados era inválido. | |
Uma chamada de Bloqueio do Windows Sockets está em andamento ou o provedor de serviços ainda está processando uma função de retorno de chamada. | |
O descritor não é um soquete. |
Comentários
Essa função é usada para relatar quais eventos de rede ocorreram para o soquete indicado desde a última invocação dessa função. Destina-se ao uso em conjunto com LPWSPEventSelect e LPWSPAsyncSelect, que associam um objeto de evento a um ou mais eventos de rede. A gravação de eventos de rede começa quando LPWSPEventSelect ou LPWSPAsyncSelect é chamado com um argumento lNetworkEvents diferente de zero e permanece em vigor até que outra chamada correspondente seja feita para LPWSPEventSelect ou LPWSPAsyncSelect com o argumento lNetworkEvents definido como zero.
LPWSPEnumNetworkEvents relata apenas a atividade de rede e os erros indicados por meio de LPWSPEventSelect. Confira as descrições de LPWSPSelect e LPWSPAsyncSelect para descobrir como essas funções relatam erros e atividades de rede.
O registro interno de eventos de rede do soquete é copiado para a estrutura referenciada por lpNetworkEvents, em que o registro interno de eventos de rede é limpo. Se hEventObject não for nulo, o objeto de evento indicado também será redefinido. O provedor do Windows Sockets garante que as operações de copiar o registro de evento de rede, limpá-lo e redefinir qualquer objeto de evento associado sejam atômicas, de modo que a próxima ocorrência de um evento de rede nomeado faça com que o objeto de evento se torne definido. No caso dessa função que retorna SOCKET_ERROR, o objeto de evento associado não é redefinido e o registro de eventos de rede não é limpo.
A estrutura WSANETWORKEVENTS é definida na página de referência WSANETWORKEVENTS .
O membro lNetworkEvents da estrutura WSANETWORKEVENTS indica qual dos eventos de rede FD_XXX ocorreram. A matriz iErrorCode é usada para conter quaisquer códigos de erro associados, com índice de matriz correspondente à posição dos bits de evento em lNetworkEvents. Os identificadores como FD_READ_BIT e FD_WRITE_BIT podem ser usados para indexar a matriz iErrorCode .
Observe que somente os elementos da matriz iErrorCode são definidos que correspondem aos bits definidos no membro lNetworkEvents . Outros membros não são modificados (isso é importante para compatibilidade com versões anteriores com os clientes SPI do Windows Socket 2 que não estão cientes de novos eventos de FD_ROUTING_INTERFACE_CHANGE e FD_ADDRESS_LIST_CHANGE).
Os códigos de erro a seguir podem ser retornados junto com o respectivo evento de rede.
Evento: FD_CONNECT
Código do Erro | Significado |
---|---|
Os endereços na família especificada não podem ser usados com este soquete. | |
Uma tentativa de conexão foi rejeitada com força. | |
A rede não pode ser alcançada através deste host neste momento. | |
Nenhum espaço de buffer disponível. O soquete não pode ser conectado. | |
Uma tentativa de conexão atingiu o tempo limite sem estabelecer uma conexão. |
Evento: FD_CLOSE
Código do Erro | Significado |
---|---|
O subsistema de rede falhou. | |
A conexão foi redefinida pelo lado remoto. | |
A conexão foi encerrada devido a um tempo limite ou outra falha. |
Evento: FD_READ, FD_WRITE, FD_OOB, FD_ACCEPT, FD_QOS, FD_GROUP_QOS, FD_ADDRESS_LIST_CHANGE
Código do Erro | Significado |
---|---|
O subsistema de rede falhou. |
Evento: FD_ROUTING_INTERFACE_CHANGE
Código do Erro | Significado |
---|---|
O destino especificado não é mais acessível. | |
O subsistema de rede falhou. |
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Cabeçalho | ws2spi.h |