Initialisieren eines SAN-Dienstanbieters
Der Windows Sockets-Switch initialisiert einen SAN-Dienstanbieter, wie in der folgenden Abbildung beschrieben.
Nachdem Windows die Windows Sockets-DLL in den Prozess einer Anwendung geladen hat, tritt die folgende Ereignissequenz auf.
So initialisieren Sie einen SAN-Dienstanbieter
Der Switch erkennt und lädt den TCP/IP-Anbieter und fragt dann die Liste der SAN-Dienstanbieter in der Registrierung ab, um alle diese Anbieter zu erkennen, wie unter Installieren eines SAN-Dienstanbieters beschrieben. Der Switch ruft die WSPStartupEx-Funktion jedes erkannten Anbieters auf, um die Verwendung dieses Anbieters zu initiieren.
Beim WSPStartupEx-Aufruf übergibt der Switch einen Zeiger an eine WSAPROTOCOL_INFOW Struktur, die die Protokollinformationen des TCP/IP-Anbieters enthält. Das Protokoll des TCP/IP-Anbieters gibt dem SAN-Dienstanbieter an, dass es vom Switch initialisiert wurde und nicht durch andere mehrschichtige Dienstanbieter oder die Windows Sockets-Schnittstelle. Der Switch übergibt die Protokollinformationen des TCP/IP-Anbieters anstelle der Transportinformationen des SAN-Dienstanbieters, wie im Abschnitt Windows Sockets Service Provider Interface (SPI) der Microsoft Windows SDK-Dokumentation vorgeschlagen.
Da ein SAN-Dienstanbieter erkennen kann, dass er vom Switch initialisiert wird, kann er den entsprechenden Satz von Einstiegspunktfunktionen für den Switch verfügbar machen. Wenn der SAN-Dienstanbieter direkt von einer Anwendung initialisiert wird, kann er eine andere Gruppe von Einstiegspunktfunktionen für diese Anwendung verfügbar machen. Wenn sich ein SAN-Dienstanbieter unter dem Switch befindet, muss sich dieser Anbieter an die in diesem Abschnitt beschriebenen Erweiterungen und Das Verhalten halten.
Der Proxytreiber eines SAN-Dienstanbieters ruft die Liste der IP-Adressen ab, die jeder NIC unter seiner Kontrolle zugewiesen sind, wie unter Registrieren für SAN-NIC-Benachrichtigungen beschrieben. Der SAN-Dienstanbieter verwendet eine private Schnittstelle, um diese Liste aus seinem Proxytreiber abzurufen. Der Switch ruft die WSPSocket-Funktion eines SAN-Dienstanbieters auf, um einen Socket zu erstellen. Der Switch verwendet diesen Socket, um die vollständige Liste der IP-Adressen abzurufen, die den NICs unter Kontrolle des Proxytreibers des SAN-Dienstanbieters zugewiesen sind. Der Switch ruft diese Liste ab, wie unter Empfangen und Übersetzen von NIC-Adressen beschrieben. Basierend auf dieser Liste und den Listen anderer SAN-Dienstanbieter erstellt der Switch eine Tabelle, die lokale IP-Subnetze SAN-Dienstanbietern ordnet.
Der Windows Sockets-Switch muss Zeiger auf die Einstiegspunktfunktionen des SAN-Dienstanbieters abrufen, die windows Sockets Service Provider Interface (SPI) für die Verwendung mit SANs erweitern. Um jede dieser erweiterten Funktionen abzurufen, ruft der Windows Sockets-Switch die WSPIoctl-Funktion eines SAN-Dienstanbieters auf und übergibt den SIO_GET_EXTENSION_FUNCTION_POINTER Befehlscode zusammen mit der GUID, deren Wert eine dieser erweiterten Funktionen identifiziert.
Eine vollständige Beschreibung dieser Funktionen finden Sie unter Windows Sockets SPI-Erweiterungen für SANs.
Der Switch kann Threads erstellen, die sowohl Lauschockets als auch nicht blockierende Verbindungsanforderungen unterstützen, wie unter Einrichten einer SAN-Verbindung beschrieben.