網路 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"