Partilhar via


Alças de soquete

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

O membro XP1_IFS_HANDLES na estrutura de informações de protocolo para um provedor determina se um identificador de soquete de um provedor é um identificador IFS (Sistema de Arquivos Instalável). Os identificadores de soquete que são identificadores IFS podem ser usados sem uma penalidade de desempenho com outras funções que não sejam Winsock (ReadFile e WriteFile, por exemplo). Quaisquer 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 onde a sobrecarga de processamento extra está envolvida 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 a partir do sistema de arquivos base nem sempre são mapeados para códigos de erro Winsock. Consequentemente, recomenda-se que as alças de soquete sejam usadas apenas com funções Winsock.

Uma alça de soquete não deve ser usada com a funçãoDuplicateHandle. A presença de provedores de serviços em camadas (LSPs) 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. A partir do Windows 8 e do Windows Server 2012, use 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 transferência de dados e incluem WSARecv, WSASende WSADuplicateSocket.