Udostępnij za pośrednictwem


Sekcje Winsock w pliku INF sieci

Plik INF dla składnika NetTrans, który zapewnia interfejs Winsock, musi określać tę zależność Winsock. Taki plik INF musi zawierać sekcję Winsock-install. Aby utworzyć sekcję Winsockinstall, dodaj rozszerzenie .Winsock do nazwy sekcji DDInstall dla protokołu. Jeśli na przykład sekcja DDInstall dla protokołu nosi nazwę Ipx, sekcja Winsock-install dla tego protokołu musi mieć nazwę Ipx.Winsock.

Notatka

Zależność Winsock została uznana za przestarzałą w systemie Windows 8 lub nowszym.

Sekcja Winsock-install musi zawierać dyrektywę AddSock. Dyrektywa AddSock określa sekcję o nazwie dostawcy, która zawiera wartości do dodania do klucza HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TransportDriverName składnika\Params\Winsock.

Sekcja o nazwie dostawcy, do którego odwołuje się dyrektywa AddSock, musi zawierać następujące wymagane wartości:

Nazwa wartości Opis

Usługa Transportowa

Wartość REG_SZ określająca nazwę usługi protokołu. Musi to być taka sama jak wartość Ndi\Service dla protokołu. Aby uzyskać więcej informacji, zobacz Dodawanie wartości Service-Related do klucza Ndi.

HelperDllName

Wartość REG_EXPAND_SZ określająca ścieżkę do biblioteki DLL pomocnika Windows Sockets (WSH) dla protokołu. Aby uzyskać więcej informacji, zobacz Podsumowanie funkcji biblioteki DLL WSH.

MaxSockAddrLength

Wartość REG_DWORD, która określa największy prawidłowy rozmiar SOCKADDR dla biblioteki DLL WSH, wyrażony w bajtach.

MinSockAddrLength

Wartość REG_DWORD określająca najmniejszy prawidłowy rozmiar SOCKADDR w bajtach dla biblioteki DLL WSH

Jeśli określono opcjonalne ProviderId dla dostawcy przestrzeni nazw, należy również określić następujące wartości:

Nazwa wartości Opis

Identyfikator dostawcy

Wartość REG_SZ określająca globalnie unikatowy identyfikator (GUID), który identyfikuje dostawcę przestrzeni nazw. Identyfikator GUID jest używany jako klucz do wszystkich kolejnych odwołań do dostawcy przestrzeni nazwowej. Uzyskaj identyfikator GUID, uruchamiając narzędzie uuidgen.exe. Aby uzyskać więcej informacji na temat tego narzędzia, zobacz zestaw Microsoft Windows SDK.

ŚcieżkaBiblioteki

Wartość REG_EXPAND_SZ określająca pełną ścieżkę do biblioteki DLL dostawcy przestrzeni nazw.

DisplayString

Ciąg lokalizowalny, który określa nazwę wyświetlaną dla dostawcy przestrzeni nazw w interfejsie użytkownika.

SupportedNameSpace

Wartość REG_DWORD określająca przestrzeń nazw obsługiwaną przez dostawcę przestrzeni nazw.

Wersja

Opcjonalna wartość REG_DWORD określająca numer wersji dostawcy przestrzeni nazw. Jeśli ta wartość nie zostanie określona, dla numeru wersji zostanie użyta wartość domyślna (1).

Następujące wartości przestrzeni nazw można przypisać do elementu SupportedNameSpace i są zdefiniowane w pliku Winsock2.h:

Namespace Wartość

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

Aby uzyskać więcej informacji na temat dostawców przestrzeni nazw, zobacz dokumentację zestawu WINDOWS SDK .

W poniższym przykładzie przedstawiono sekcje protokołu Winsock dla protokołu 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

Plik INF może usunąć zależność Winsock dla protokołu, obejmując sekcję Winsock-remove. Aby utworzyć sekcję winsock-remove, dodaj rozszerzenie Winsock do nazwy sekcji Usuń dla protokołu. Jeśli na przykład sekcja Remove dla protokołu nosi nazwę Ipx.Remove, sekcja Winsock-remove protokołu musi mieć nazwę Ipx.Remove.Winsock.

Sekcja Winsock-remove zawiera dyrektywę DelSock, która określa sekcję nazwaną przez autorów INF. Sekcja o nazwie INF-writer musi określać usługę transportu do usunięcia. Jeśli ProviderId został wcześniej zarejestrowany dla protokołu, sekcja nazwana przez dostawcę musi również określić, jaki ProviderId należy usunąć.

W poniższym przykładzie przedstawiono dwie sekcje, które usuwają zależność winsock dla protokołu IPX:

[Ipx.Remove.Winsock]
DelSock = Remove.IpxWinsock
 
[Remove.IpxWinsock]
TransportService = nwlinkipx
ProviderId = "GUID"