Partager via


Installation d’un fournisseur de services SAN

Un fournisseur de services SAN est généralement installé en tant que fournisseur de services Windows Sockets de base qui s’interface avec le commutateur Windows Sockets. Bien qu’un fournisseur de services SAN puisse être installé pour une utilisation directe par une application, la technologie Windows Sockets Direct ne prend pas en charge l’utilisation d’un fournisseur de services SAN de cette manière. Un fournisseur de services SAN installé pour une utilisation directe par une application exporte ses caractéristiques de protocole et de famille d’adresses natives plutôt que celles du protocole TCP/IP.

Un fournisseur de services SAN qui est indirectement exposé aux applications via le commutateur Windows Sockets doit définir l’indicateur PFL_HIDDEN dans le membre dwProviderFlags de la structure de WSAPROTOCOL_INFOW du fournisseur de services SAN. Pour installer le fournisseur de services SAN sur le système d’exploitation, le mécanisme d’installation du fournisseur de services SAN transmet cette structure dans un appel à la fonction WSCInstallProvider . Le mécanisme d’installation du fournisseur de services SAN peut être, par exemple, un programme d’installation ou une fonction exportée par le fournisseur de services SAN et appelée par une directive de fichier INF.

Le mécanisme d’installation du fournisseur de services SAN doit ajouter une valeur de type REG_BINARY à la clé suivante dans le Registre avant que le fournisseur de services SAN puisse être détecté par le commutateur Windows Sockets en tant que fournisseur de services Windows Sockets de base :

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

Cette valeur contient la représentation binaire de la valeur dans le membre ProviderId de la structure WSAPROTOCOL_INFOW. Cette valeur inscrit un fournisseur de services SAN auprès du commutateur Windows Sockets. Ce membre contient l’identificateur global unique (GUID) attribué par le fournisseur au fournisseur de services SAN.

Le fournisseur peut également attribuer un nom unique qui représente ce GUID, par exemple :

  • Nom de marque du produit

  • Valeur numérique unique

  • Représentation textuelle du GUID

Pour inscrire un fournisseur de services SAN

  1. Le commutateur appelle la fonction WSAProviderConfigChange pour détecter les événements d’installation et de suppression du fournisseur Windows Sockets.

  2. Une fois qu’un nouveau fournisseur de services Windows Sockets est installé, le commutateur appelle la fonction WSCEnumProtocols pour interroger le catalogue Windows Sockets et la liste des fournisseurs de services SAN dans le Registre pour déterminer si le nouveau fournisseur de services contrôle un SAN. Pour plus d’informations sur WSCEnumProtocols, consultez le Kit de développement logiciel (SDK) Windows.

  3. Si le commutateur détecte un nouveau fournisseur de services SAN, le commutateur initialise ce fournisseur de services comme décrit dans Initialisation d’un fournisseur de services SAN.

  4. Le commutateur appelle également les fonctions suivantes du fournisseur de services SAN nouvellement installé après l’initialisation du fournisseur de services SAN pour traiter tous les sockets d’écoute existants liés à l’adresse IP générique (0.0.0.0) (l’adresse IP générique implique que le fournisseur de services SAN doit accepter les demandes de connexion entrantes de toutes les cartes réseau qu’il contrôle) :

    WSPSocket
    Crée un socket

    WSPBind
    Lie le socket à l’adresse IP générique

    WSPListen
    Définit le socket pour qu’il reconnaisse et met en file d’attente les demandes de connexion entrantes jusqu’à ce qu’elles soient acceptées par le commutateur

    Note À compter de Windows Vista, l’adresse IP générique 0.0.0.0 n’est pas disponible. À compter de Windows Vista, si la clé de Registre IPAutoconfigurationEnabled est définie sur la valeur 0, l’attribution automatique d’adresse IP est désactivée et aucune adresse IP n’est affectée. Dans ce cas, l’outil en ligne de commande ipconfig n’affiche pas d’adresse IP. Si la clé est définie sur une valeur différente de zéro, une adresse IP est automatiquement affectée. Cette clé peut se trouver dans les chemins d’accès suivants dans le Registre :

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

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