Freigeben über


Installieren eines SAN-Dienstanbieters

Ein SAN-Dienstanbieter wird in der Regel als Windows Sockets-Basisdienstanbieter installiert, der eine Verbindung mit dem Windows Sockets-Switch herstellt. Obwohl ein SAN-Dienstanbieter stattdessen für die direkte Verwendung durch eine Anwendung installiert werden kann, unterstützt die Windows Sockets Direct-Technologie die Verwendung eines SAN-Dienstanbieters auf diese Weise nicht. Ein SAN-Dienstanbieter, der für die direkte Verwendung durch eine Anwendung installiert ist, exportiert seine systemeigenen Adressfamilien und Protokolleigenschaften anstelle der Merkmale des TCP/IP-Protokolls.

Ein SAN-Dienstanbieter, der anwendungen indirekt über den Windows Sockets-Switch verfügbar gemacht wird, muss das flag PFL_HIDDEN im dwProviderFlags-Member der WSAPROTOCOL_INFOW struktur des SAN-Dienstanbieters festlegen. Um den SAN-Dienstanbieter auf dem Betriebssystem zu installieren, übergibt der Installationsmechanismus des SAN-Dienstanbieters diese Struktur in einem Aufruf der WSCInstallProvider-Funktion . Der Installationsmechanismus des SAN-Dienstanbieters kann z. B. ein Setupprogramm oder eine Funktion sein, die vom SAN-Dienstanbieter exportiert und von einer INF-Dateidirektive aufgerufen wird.

Der Installationsmechanismus des SAN-Dienstanbieters muss dem folgenden Schlüssel in der Registrierung einen Wert vom Typ REG_BINARY hinzufügen, bevor der SAN-Dienstanbieter vom Windows Sockets-Switch als Windows Sockets-Basisdienstanbieter erkannt werden kann:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Winsock\
Parameters\TCP on SAN

Dieser Wert enthält die binäre Darstellung des Werts im ProviderId-Member aus der WSAPROTOCOL_INFOW-Struktur. Dieser Wert registriert einen SAN-Dienstanbieter beim Windows Sockets-Switch. Dieses Element enthält die GUID (Globally Unique Identifier), die der Anbieter dem SAN-Dienstanbieter zugewiesen hat.

Der Anbieter kann auch einen eindeutigen Namen zuweisen, der diese GUID darstellt, z. B.:

  • Markenname des Produkts

  • Eindeutiger numerischer Wert

  • Textdarstellung der GUID

So registrieren Sie einen SAN-Dienstanbieter

  1. Der Switch ruft die WSAProviderConfigChange-Funktion auf, um Installations- und Entfernungsereignisse des Windows Sockets-Anbieters zu erkennen.

  2. Nachdem ein neuer Windows Sockets-Dienstanbieter installiert wurde, ruft der Switch die WSCEnumProtocols-Funktion auf, um den Windows Sockets-Katalog und die Liste der SAN-Dienstanbieter in der Registrierung abzufragen, um zu bestimmen, ob der neue Dienstanbieter ein SAN steuert. Weitere Informationen zu WSCEnumProtocols finden Sie im Windows SDK.

  3. Wenn der Switch einen neuen SAN-Dienstanbieter erkennt, initialisiert der Switch diesen Dienstanbieter wie unter Initialisieren eines SAN-Dienstanbieters beschrieben.

  4. Der Switch ruft auch die folgenden Funktionen des neu installierten SAN-Dienstanbieters auf, nachdem der SAN-Dienstanbieter initialisiert wurde, um vorhandene Lauschockets zu verarbeiten, die an die Platzhalter-IP-Adresse (0.0.0.0.0) gebunden sind (die Platzhalter-IP-Adresse impliziert, dass der SAN-Dienstanbieter eingehende Verbindungsanforderungen von allen niCs akzeptieren sollte, die er steuert):

    WSPSocket
    Erstellt einen Socket

    WSPBind
    Bindet den Socket an die IP-Adresse des Wildcards.

    WSPListen
    Legt den Socket so fest, dass eingehende Verbindungsanforderungen bestätigt und in die Warteschlange gestellt werden, bis er vom Switch akzeptiert wird.

    Hinweis Ab Windows Vista ist die Wildcard-IP-Adresse 0.0.0.0 nicht verfügbar. Wenn der Registrierungsschlüssel IPAutoconfigurationEnabled ab Windows Vista auf den Wert 0 festgelegt ist, ist die automatische IP-Adresszuweisung deaktiviert, und es wird keine IP-Adresse zugewiesen. In diesem Fall zeigt das Befehlszeilentool ipconfig keine IP-Adresse an. Wenn der Schlüssel auf einen Wert ungleich null festgelegt ist, wird automatisch eine IP-Adresse zugewiesen. Dieser Schlüssel kann sich unter den folgenden Pfaden in der Registrierung befinden:

    HKEY_LOCAL_MACHINE\SYSTEM\Current Control Set\Services\Tcpip\Parameters\IPAutoconfigurationEnabled

    HKEY_LOCAL_MACHINE\SYSTEM\Current Control Set\Services\Tcpip\Parameters\Interfaces\GUID\IPAutoconfigurationEnabled