Compartir a través de


Inicialización de un proveedor de servicios SAN

El modificador Windows Sockets inicializa un proveedor de servicios SAN como se describe en la ilustración siguiente.

Diagrama que ilustra cómo el conmutador de sockets de Windows inicializa un proveedor de servicios SAN.

Una vez que Windows carga el archivo DLL del conmutador de Windows Sockets en el proceso de una aplicación, se produce la siguiente secuencia de eventos.

Para inicializar un proveedor de servicios SAN

  1. El modificador detecta y carga el proveedor TCP/IP y, a continuación, consulta la lista de proveedores de servicios SAN en el registro para detectar todos esos proveedores, tal como se describe en Instalación de un proveedor de servicios SAN. El modificador llama a la función WSPStartupEx de cada proveedor detectado para iniciar el uso de ese proveedor.

  2. En la llamada WSPStartupEx , el conmutador pasa un puntero a una estructura de WSAPROTOCOL_INFOW que contiene la información del protocolo del proveedor TCP/IP. El protocolo del proveedor TCP/IP indica al proveedor de servicios SAN que el conmutador ha inicializado en lugar de por otros proveedores de servicios superpuestas o la interfaz de Windows Sockets. El modificador pasa la información del protocolo del proveedor TCP/IP en lugar de la información de transporte del proveedor de servicios SAN, como se sugiere en la sección Interfaz del proveedor de servicios de Windows Sockets (SPI) de la documentación de Microsoft Windows SDK.

    Dado que un proveedor de servicios SAN puede detectar que se inicializa mediante el modificador, puede exponer el conjunto adecuado de funciones de punto de entrada al modificador. Si una aplicación inicializa directamente el proveedor de servicios SAN, puede exponer otro conjunto de funciones de punto de entrada a esa aplicación. Si un proveedor de servicios SAN está en capas bajo el modificador, ese proveedor debe cumplir las extensiones y el comportamiento descritos en esta sección.

  3. El controlador proxy del proveedor de servicios SAN obtiene la lista de direcciones IP asignadas a cada NIC bajo su control, tal y como se describe en Registro para notificaciones de NIC de SAN. El proveedor de servicios SAN usa una interfaz privada para recuperar esta lista de su controlador proxy. El modificador llama a la función WSPSocket de un proveedor de servicios SAN para crear un socket. El modificador usa este socket para recuperar la lista completa de direcciones IP asignadas a las NIC bajo control del controlador proxy del proveedor de servicios SAN. El modificador recupera esta lista como se describe en Recepción y traducción de direcciones NIC. En función de esta lista y de las listas de otros proveedores de servicios SAN, el modificador crea una tabla que asigna subredes IP locales a proveedores de servicios SAN.

  4. El conmutador Windows Sockets debe recuperar punteros a las funciones de punto de entrada del proveedor de servicios SAN que extienden la interfaz del proveedor de servicios (SPI) de Windows Sockets para su uso con SAN. Para recuperar cada una de estas funciones extendidas, el conmutador Windows Sockets llama a la función WSPIoctl del proveedor de servicios SAN y pasa el código de comando SIO_GET_EXTENSION_FUNCTION_POINTER junto con el GUID cuyo valor identifica una de estas funciones extendidas.

    Para obtener una descripción completa de estas funciones, consulte Extensiones SPI de Windows Sockets para SAN.

  5. El modificador puede crear subprocesos para admitir sockets de escucha, así como solicitudes de conexión sin bloqueo, como se describe en Configuración de una conexión SAN.