Compartilhar via


Identificadores de soquete

Opcionalmente, um identificador de soquete pode ser um identificador de arquivo no Windows Sockets 2. Um identificador de soquete de um provedor Winsock pode ser usado com outras funções não Winsock, como ReadFile, WriteFile, ReadFileEx e WriteFileEx.

O membro XP1_IFS_HANDLES na estrutura de informações de protocolo de um provedor determina se um identificador de soquete de um provedor é um identificador IFS (Sistema de Arquivos Instalável). Identificadores de soquete que são identificadores IFS podem ser usados sem uma penalidade de desempenho com outras funções não Winsock (ReadFile e WriteFile, por exemplo). Todos os identificadores de soquete não IFS quando usados com funções não Winsock (ReadFile e WriteFile, por exemplo) resultam em interações entre o provedor e o sistema de arquivos em que a sobrecarga de processamento extra está envolvida, o que pode resultar em uma penalidade de desempenho significativa. Ao usar identificadores de soquete com funções não Winsock, os códigos de erro propagados do sistema de arquivos base nem sempre são mapeados para códigos de erro winsock. Consequentemente, é recomendável que os identificadores de soquete sejam usados apenas com funções Winsock.

Um identificador de soquete não deve ser usado com a função DuplicateHandle . A presença de LSPs (provedores de serviços em camadas) pode fazer com que isso falhe e não há como o processo de destino importar o identificador de soquete.

Observação

Os Provedores de Serviços em Camadas foram preteridos. Começando com Windows 8 e Windows Server 2012, use a Plataforma de Filtragem do Windows.

 

O Windows Sockets 2 expandiu determinadas funções que transferem dados entre soquetes usando identificadores. As funções oferecem vantagens específicas para soquetes para transferir dados e incluem WSARecv, WSASend e WSADuplicateSocket.