共用方式為


網路 INF 檔案中的 Winsock 區段

提供 Winsock 介面之 NetTrans 元件的 INF 檔案必須指定此 Winsock 相依性。 這類 INF 檔案必須包含 Winsock-install 區段。 若要建立 Winsockinstall 區段,請新增 。通訊協定 之 DDInstall 區段名稱的 Winsock 延伸模組。 例如,如果通訊協定的 DDInstall 區段名為 Ipx,該通訊協定的 Winsock-install 區段必須命名為 Ipx.Winsock。

注意

winsock 相依性已在 Windows 8 和更新版本中淘汰。

Winsock-install區段必須包含AddSock指示詞。 AddSock指示詞會指定廠商命名的區段,其中包含要新增至元件的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TransportDriverName\Params\Winsock機碼的值。

AddSock指示詞所參考的廠商命名區段必須包含下列必要值:

值名稱 描述

TransportService

指定通訊協定服務名稱的REG_SZ值。 這必須與通訊協定的 Ndi\Service 值相同。 如需詳細資訊,請參閱 將Service-Related值新增至 Ndi 索引鍵

HelperDllName

REG_EXPAND_SZ值,指定通訊協定的 Windows 通訊端協助程式 (WSH) DLL 的路徑。 如需詳細資訊,請參閱 WSH DLL 函數摘要

MaxSockAddrLength

REG_DWORD值,指定 WSH DLL 的最大有效 SOCKADDR 大小,以位元組為單位

MinSockAddrLength

REG_DWORD值,指定 WSH DLL 的最小有效 SOCKADDR 大小,以位元組為單位

如果指定命名空間提供者的選擇性 ProviderId ,也必須指定下列值:

值名稱 描述

ProviderId

REG_SZ值,指定識別命名空間提供者的全域唯一識別碼 (GUID) 。 GUID 會當做命名空間提供者所有後續參考的索引鍵使用。 執行 uuidgen.exe 公用程式來取得 GUID。 如需此公用程式的詳細資訊,請參閱Microsoft Windows SDK。

LibraryPath

指定命名空間提供者 DLL 完整路徑的REG_EXPAND_SZ值。

DisplayString

可當地語系化的字串,指定使用者介面中命名空間提供者顯示的名稱。

SupportedNameSpace

REG_DWORD值,指定命名空間提供者支援的命名空間。

版本

選擇性REG_DWORD值,指定命名空間提供者的版本號碼。 如果未指定此值,則會針對版本號碼使用預設值 (1) 。

下列命名空間值可以指派給 SupportedNameSpace,並定義于 Winsock2.h 中:

命名空間

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

如需命名空間提供者的詳細資訊,請參閱 Windows SDK 檔

下列範例顯示 IPX 通訊協定的 Winsock 區段:

[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

INF 檔案可以藉由包含 Winsock-remove 區段來移除通訊協定的 Winsock 相依性。 若要建立 Winsock-remove 區段,請新增 。Winsock 擴充至通訊協定的 移除 區段名稱。 例如,如果通訊協定的 Remove 區段名為 Ipx.Remove,則通訊協定的 Winsock-remove 區段必須命名為 Ipx.Remove.Winsock。

Winsock-remove區段包含DelSock指示詞,指定 INF-writer-named 區段。 INF-writer-named 區段必須指定要移除的傳輸服務。 如果先前已註冊通訊協定的 ProviderId ,廠商命名的區段也必須指定要移除的 ProviderId

下列範例顯示兩個區段,這些區段會移除 IPX 通訊協定的 Winsock 相依性:

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