Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O switch Windows Sockets, em conjunto com o provedor TCP/IP, lida com a maioria das chamadas WSPGetSockOpt, WSPSetSockOpte WSPIoctl realizadas por aplicações. Essas solicitações geralmente são para definir e recuperar opções e parâmetros operacionais associados ao soquete de um aplicativo. Geralmente, o switch não encaminha essas chamadas para um provedor de serviços SAN, exceto conforme descrito nas seções a seguir.
Recuperando opções de soquete de SAN
O switch Windows Sockets chama a função de WSPGetSockOpt de um provedor de serviços de SAN e passa uma das seguintes opções de soquete para recuperar o valor atual dessa opção, se o provedor de serviços de SAN oferecer suporte a essa opção:
SO_DEBUG
Os provedores de serviços de SAN não são obrigados a oferecer suporte a essa opção. Eles são encorajados, mas não obrigados, a fornecer informações de depuração de saída se os aplicativos definirem a opção SO_DEBUG.
SO_MAX_MSG_SIZE
Um fornecedor de serviços SAN deve suportar esta opção se o transporte SAN subjacente for orientado a mensagens e o transporte limitar a quantidade de dados que o switch pode enviar numa chamada para a função WSPSend do fornecedor de serviços SAN. O switch não irá passar solicitações de transmissão para o fornecedor de serviços de SAN que excedam o tamanho que o fornecedor de serviços de SAN retorna para o valor desta opção.
SO_MAX_RDMA_SIZE
Um provedor de serviços de SAN deve oferecer suporte a essa opção se o transporte de SAN subjacente limitar a quantidade de dados que o switch pode transferir em chamadas para aWSPRdmaReaddo provedor de serviços de SAN ou função de WSPRdmaWrite. O switch não passa posteriormente solicitações de transferência RDMA para o provedor de serviços de SAN que excedam o tamanho que o provedor de serviços de SAN retorna para o valor dessa opção.
SO_RDMA_THRESHOLD_SIZE
Um provedor de serviços de SAN oferece suporte a essa opção para indicar sua preferência pela quantidade mínima de dados que o switch pode transferir em chamadas para o WSPRdmaRead do provedor de serviços de SAN ou função de WSPRdmaWrite. No entanto, o switch pode definir o limite real para um valor diferente do valor retornado pelo provedor de serviços SAN. Subsequentemente, o switch chama o WSPRdmaRead ou função WSPRdmaWrite para transferir blocos de dados (transferências RDMA) que excedem o tamanho desse limite e o WSPSend ou função WSPRecv para transferir blocos de dados (transferências orientadas a mensagens) que são menores ou iguais ao tamanho desse limite.
SO_GROUP_ID, SO_GROUP_PRIORITY
Um provedor de serviços de SAN deve oferecer suporte a essas opções se oferecer suporte à QoS (qualidade de serviço). Caso contrário, o switch encaminha essas opções para o provedor TCP/IP, que mantém os valores padrão. Um provedor de serviços de SAN indica que oferece suporte a QoS definindo o bit XP1_QOS_SUPPORTED no campo dwServiceFlags da estrutura WSAPROTOCOL_INFO.
Definindo opções de soquete de SAN
O comutador Windows Sockets chama a função WSPSetSockOpt de um fornecedor de serviços de SAN e passa uma das seguintes opções de soquete para definir um valor para essa opção, se o fornecedor de serviços de SAN suportar essa opção:
SO_DEBUG
Para obter uma descrição dessa opção de soquete, consulte a lista anterior.
SO_GROUP_PRIORITY
Para obter uma descrição dessa opção de soquete, consulte a lista anterior.
Acessando informações de soquete de SAN
O Windows Sockets switch chama a função WSPIoctl de um provedor de serviços de SAN e passa um dos seguintes códigos de controlo para definir ou recuperar informações para esse provedor de serviços de SAN, se o provedor de serviços de SAN oferecer suporte a esse código de controlo.
SIO_GET_EXTENSION_FUNCTION_POINTER
Recupera um ponteiro para uma função de extensão que um provedor de serviços de SAN deve suportar. Para obter mais informações sobre funções de extensão, consulte Windows Sockets SPI Extensions for SANs. O buffer de entrada da chamada WSPIoctl de contém o GUID cujo valor identifica a função de extensão especificada. O provedor de serviços SAN retorna o ponteiro para a função solicitada no buffer de saída do WSPIoctl. A tabela a seguir contém GUIDs para funções de extensão que um provedor de serviços de SAN pode suportar:
| Função de extensão | Identificador Globalmente Único (GUID) |
|---|---|
{C0B422F5-F58C-11d1-AD6C-00C04FA34A2D} |
|
{C0B422F6-F58C-11d1-AD6C-00C04FA34A2D} |
|
{C0B422F7-F58C-11d1-AD6C-00C04FA34A2D} |
|
{C0B422F8-F58C-11d1-AD6C-00C04FA34A2D} |
|
{C0B422F9-F58C-11d1-AD6C-00C04FA34A2D} |
|
{C0B422FA-F58C-11d1-AD6C-00C04FA34A2D} |
|
{E5DA4AF8-D824-48CD-A799-6337A98ED2AF} |
SIO_GET_QOS, SIO_GET_GROUP_QOS, SIO_SET_QOS SIO_SET_GROUP_QOS
Um provedor de serviços de SAN deve oferecer suporte a esses códigos de controle se oferecer suporte a QoS. Caso contrário, o switch encaminha essas opções para o provedor TCP/IP, que mantém os valores padrão. Um provedor indica que suporta QoS definindo o bit XP1_QOS_SUPPORTED no membro dwServiceFlags da estrutura WSAPROTOCOL_INFO.
SIO_ADDRESS_LIST_QUERY
Recupera a lista de endereços IP locais atribuídos às placas de interface de rede (NICs) controladas pelo provedor de serviços SAN. O provedor de serviços de SAN usa uma estrutura SOCKET_ADDRESS_LIST, definida da seguinte forma, para retornar a lista no buffer de saída do WSPIoctl:
typedef struct _SOCKET_ADDRESS_LIST {
INT iAddressCount;
SOCKET_ADDRESS Address[1];
} SOCKET_ADDRESS_LIST, FAR * LPSOCKET_ADDRESS_LIST;
Os membros desta estrutura contêm as seguintes informações:
iAddressCount
Especifica o número de estruturas de endereço na lista.
Endereço
Matriz de estruturas de endereços IP.
O switch usa esse código IOCTL internamente para decidir se deseja usar um determinado provedor de serviços de SAN para executar as solicitações de um aplicativo para fazer conexões ou escutar conexões de entrada. O switch encaminha solicitações de aplicativos reais para a lista de endereços IP locais para o provedor TCP/IP. O switch também usa o provedor TCP/IP para detetar alterações nas listas de endereços atendidas por todos os provedores de serviços SAN. Depois que o TCP/IP relata uma alteração, o switch consulta todos os provedores de serviços SAN para atualizar suas listas.