Sections Winsock dans un fichier INF réseau
Un fichier INF pour un composant NetTrans qui fournit une interface Winsock doit spécifier cette dépendance Winsock. Ce fichier INF doit contenir une section Winsock-install . Pour créer une section Winsockinstall, ajoutez le . Extension Winsock au nom de section DDInstall pour le protocole. Par exemple, si la section DDInstall d’un protocole est nommée Ipx, la section Winsock-install pour ce protocole doit être nommée Ipx.Winsock.
Notes
La dépendance Winsock a été déconseillée dans Windows 8 et versions ultérieures.
Une section Winsock-install doit contenir une directive AddSock . La directive AddSock spécifie une section nommée fournisseur qui contient des valeurs à ajouter à la clé TransportDriverName\Params\WinsockHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ du composant.
La section nommée fournisseur référencée par la directive AddSock doit contenir les valeurs requises suivantes :
Nom de la valeur | Description |
---|---|
TransportService |
Valeur REG_SZ qui spécifie le nom du service du protocole. Cette valeur doit être identique à la valeur Ndi\Service pour le protocole. Pour plus d’informations, consultez Ajout de valeurs Service-Related à la clé Ndi. |
HelperDllName |
Valeur REG_EXPAND_SZ qui spécifie le chemin d’accès à la DLL WSH (Windows Sockets Helper) pour le protocole. Pour plus d’informations, consultez Résumé de la fonction DLL WSH. |
MaxSockAddrLength |
Valeur REG_DWORD qui spécifie la plus grande taille SOCKADDR valide, en octets, pour la DLL WSH |
MinSockAddrLength |
Valeur REG_DWORD qui spécifie la plus petite taille SOCKADDR valide, en octets, pour la DLL WSH |
Si un ProviderId facultatif pour un fournisseur d’espaces de noms est spécifié, les valeurs suivantes doivent également être spécifiées :
Nom de la valeur | Description |
---|---|
ProviderId |
Valeur REG_SZ qui spécifie l’identificateur global unique (GUID) qui identifie le fournisseur d’espaces de noms. Le GUID est utilisé comme clé pour toutes les références suivantes au fournisseur d’espaces de noms. Obtenez le GUID en exécutant l’utilitaire uuidgen.exe. Pour plus d’informations sur cet utilitaire, consultez la Microsoft Windows SDK. |
LibraryPath |
Valeur REG_EXPAND_SZ qui spécifie le chemin d’accès complet à la DLL du fournisseur d’espace de noms. |
DisplayString |
Chaîne localisable qui spécifie le nom affiché pour le fournisseur d’espaces de noms dans l’interface utilisateur. |
SupportedNameSpace |
Valeur REG_DWORD qui spécifie l’espace de noms pris en charge par le fournisseur d’espaces de noms. |
Version |
Valeur REG_DWORD facultative qui spécifie le numéro de version du fournisseur d’espaces de noms. Si cette valeur n’est pas spécifiée, la valeur par défaut (1) est utilisée pour le numéro de version. |
Les valeurs d’espace de noms suivantes peuvent être affectées à SupportedNameSpace et sont définies dans Winsock2.h :
Espace de noms | Valeur |
---|---|
NS_ALL |
0 |
NS_SAP |
1 |
NS_NDS |
2 |
NS_PEER_BROWSE |
3 |
NS_TCPIP_LOCAL |
10 |
NS_TCPIP_HOSTS |
11 |
NS_DNS |
12 |
NS_NETBT |
13 |
NS_WINS |
14 |
NS_NBP |
20 |
NS_MS |
30 |
NS_STDA |
31 |
NS_CAIRO |
32 |
NS_X500 |
40 |
NS_NIS |
41 |
NS_WRQ |
50 |
Pour plus d’informations sur les fournisseurs d’espaces de noms, consultez la documentation du Kit de développement logiciel (SDK) Windows.
L’exemple suivant montre les sections Winsock pour un protocole IPX :
[Ipx.Winsock]
AddSock = Install.IpxWinsock
[Install.IpxWinsock]
TransportService = nwlinkipx
HelperDllName = "%%SystemRoot%%\System32\wshisn.dll"
MaxSockAddrLength = 0x10
MinSockAddrLength = 0xe
ProviderId = "GUID"
LibraryPath = "%SystemRoot%\\System32\\nwprovau.dll"
DisplayString = %NwlnkIpx_Desc%
SupportedNameSpace = 1
Version = 2
Un fichier INF peut supprimer une dépendance Winsock pour un protocole en incluant une section Winsock-remove . Pour créer une section Winsock-remove , ajoutez le . Extension Winsock du nom de section Supprimer pour le protocole. Par exemple, si la section Supprimer d’un protocole est nommée Ipx.Remove, la section Winsock-remove du protocole doit être nommée Ipx.Remove.Winsock.
La section Winsock-remove contient une directive DelSock qui spécifie une section nommée INF-writer. La section INF-writer-named doit spécifier le service de transport à supprimer. Si un ProviderId a été précédemment inscrit pour le protocole, la section vendor-named doit également spécifier le ProviderId à supprimer.
L’exemple suivant montre deux sections qui suppriment la dépendance Winsock pour un protocole IPX :
[Ipx.Remove.Winsock]
DelSock = Remove.IpxWinsock
[Remove.IpxWinsock]
TransportService = nwlinkipx
ProviderId = "GUID"