Inicializando um provedor de serviços SAN
A opção Windows Sockets inicializa um provedor de serviços SAN, conforme descrito na figura a seguir.
Depois que o Windows carrega a DLL do comutador do Windows Sockets no processo de um aplicativo, ocorre a sequência de eventos a seguir.
Para inicializar um provedor de serviços SAN
A opção detecta e carrega o provedor TCP/IP e consulta a lista de provedores de serviços SAN no registro para detectar todos esses provedores, conforme descrito em Instalando um provedor de serviços SAN. A opção chama a função WSPStartupEx de cada provedor detectado para iniciar o uso desse provedor.
Na chamada WSPStartupEx , a opção passa um ponteiro para uma estrutura WSAPROTOCOL_INFOW que contém as informações de protocolo do provedor TCP/IP. O protocolo do provedor TCP/IP indica ao provedor de serviços SAN que ele foi inicializado pela opção em vez de por outros provedores de serviços em camadas ou pela interface do Windows Sockets. A opção passa as informações de protocolo do provedor TCP/IP em vez das informações de transporte do provedor de serviços SAN, conforme sugerido na seção SPI (Interface do provedor de serviços) do Windows Sockets da documentação do SDK do Microsoft Windows.
Como um provedor de serviços SAN pode detectar que ele é inicializado pelo comutador, ele pode expor o conjunto apropriado de funções de ponto de entrada ao comutador. Se o provedor de serviços SAN for inicializado diretamente por um aplicativo, ele poderá expor outro conjunto de funções de ponto de entrada a esse aplicativo. Se um provedor de serviços SAN estiver em camadas sob a opção , esse provedor deverá aderir às extensões e ao comportamento descritos nesta seção.
O driver proxy de um provedor de serviços SAN obtém a lista de endereços IP atribuídos a cada NIC sob seu controle, conforme descrito em Registrando-se para notificações de NIC san. O provedor de serviços SAN usa uma interface privada para recuperar essa lista de seu driver proxy. A opção chama a função WSPSocket de um provedor de serviços SAN para criar um soquete. A opção usa esse soquete para recuperar a lista completa de endereços IP atribuídos às NICs sob controle do driver proxy do provedor de serviços SAN. A opção recupera essa lista, conforme descrito em Recebendo e traduzindo endereços NIC. Com base nessa lista e nas listas de outros provedores de serviços SAN, a opção cria uma tabela que mapeia sub-redes IP locais para provedores de serviço san.
A opção Windows Sockets deve recuperar ponteiros para as funções de ponto de entrada do provedor de serviços SAN que estendem a SPI (Interface do provedor de serviços) do Windows Sockets para uso com SANs. Para recuperar cada uma dessas funções estendidas, a opção Windows Sockets chama a função WSPIoctl de um provedor de serviços SAN e passa o código de comando SIO_GET_EXTENSION_FUNCTION_POINTER junto com o GUID cujo valor identifica uma dessas funções estendidas.
Para obter uma descrição completa dessas funções, consulte Extensões spi do Windows Sockets para SANs.
A opção pode criar threads para dar suporte a soquetes de escuta, bem como solicitações de conexão sem bloqueio, conforme descrito em Configurando uma conexão SAN.