Partilhar via


Funções SPI do Windows Sockets não necessárias para SANs

Esta seção descreve as funções do Windows Sockets SPI que um provedor de serviços SAN não precisa implementar. Estas funções são definidas em Ws2spi.h.

WSPAddressToString
O comutador Windows Sockets usa o provedor TCP/IP para converter todos os componentes de uma estrutura SOCKADDR em uma cadeia de caracteres numérica legível por humanos que representa o endereço IP de um soquete.

WSPAsyncSelect
O switch Windows Sockets usa seu protocolo de sessão internamente para lidar com a notificação de eventos de rede para um soquete, se necessário.

WSPCancelBlockingCall
A opção Windows Sockets lida internamente com o cancelamento de solicitações de bloqueio em andamento. Portanto, nunca emite chamadas de cancelamento de bloqueio para uma DLL do fornecedor de serviços SAN. A opção Windows Sockets pode:

Cancele uma solicitação de conexão pendente fechando o soquete SAN. A DLL do provedor de serviços SAN deve anular a solicitação de conexão.

Cancele solicitações pendentes de envio e recebimento descartando dados para essas solicitações se o switch armazenar esses dados em buffer internamente ou aguardando a conclusão dessas solicitações se forem transferências RDMA de ou para buffers de aplicativos. Para transferências RDMA longas, o switch pode fechar a conexão completamente.

A documentação do Windows Sockets SPI no SDK do Microsoft Windows avisa que, se uma chamada de bloqueio for cancelada, um aplicativo não poderá confiar em uma conexão que está sendo preservada. Nesse caso, a única chamada que tem a garantia de ter êxito no soquete após o cancelamento de uma solicitação de bloqueio é WSPCloseSocket.

WSPGetPeerName O comutador Windows Sockets armazena em cache o endereço IP de um par quando o comutador estabelece uma conexão com o par numa chamada WSPConnect ou aceita uma conexão do par numa chamada WSPAccept. O switch fornece esse valor armazenado em cache aos aplicativos, se necessário.

WSPGetSockName O comutador Windows Sockets armazena em cache o endereço IP local de um soquete quando o switch associa o endereço ao soquete em uma chamada WSPBind ou aceita uma conexão com um par em uma chamada WSPAccept. O switch fornece esse valor armazenado em cache aos aplicativos, se necessário.

WSPJoinLeaf O switch Windows Sockets usa exclusivamente o provedor TCP/IP para lidar com sessões multiponto.

WSPRecvDisconnect O switch Windows Sockets lida internamente com o término da receção de dados em um soquete e recupera todos os dados de desconexão recebidos da parte remota.

WSPRecvFrom A versão atual do Windows Sockets Direct não oferece suporte a provedores de serviços SAN que manipulam soquetes que recebem datagramas com semântica UDP (User Datagram Protocol). Portanto, o switch Windows Sockets chama a função WSPRecv de um provedor de serviços SAN num soquete conectado para receber dados de fluxo com semântica de Transmission Control Protocol (TCP).

WSPSelect O switch Windows Sockets usa seu protocolo de sessão internamente em cooperação com o provedor TCP/IP para determinar o status dos soquetes, se necessário.

WSPSendDisconnect O switch Windows Sockets lida internamente com o término da conexão de um soquete e envia dados de desconexão para a parte remota.

WSPSendTo A versão atual do Windows Sockets Direct não oferece suporte a provedores de serviços SAN que manipulam soquetes que enviam datagramas com semântica UDP (User Datagram Protocol). Portanto, o Windows Sockets switch chama a função WSPSend de um provedor de serviços SAN para enviar dados de fluxo num soquete conectado com semântica TCP (Transmission Control Protocol).

WSPShutdown O comutador Windows Sockets desabilita internamente a receção e a transmissão de dados num socket.

WSPStartup O comutador Windows Sockets não chama WSPStartup para iniciar a operação de um fornecedor de serviços SAN. Em vez disso, o switch usa a função WSPStatupEx do provedor de serviços SAN.

WSPStringToAddress O comutador Windows Sockets usa o provedor TCP/IP para converter uma cadeia numérica legível por humanos, que representa o endereço IP de um socket, em uma estrutura de endereço de socket (SOCKADDR) adequada para ser passada para rotinas do Windows Sockets que utilizam essa estrutura.