次の方法で共有


ネットワーク INF ファイル内の Winsock セクション

Winsock インターフェイスを提供する NetTrans コンポーネントの INF ファイルでは、この Winsock 依存関係を指定する必要があります。 このような INF ファイルには、Winsock-install セクションが含まれている必要があります。 Winsockinstall セクションを作成するには、プロトコルの DDInstall セクション名に .Winsock 拡張子を追加します。 たとえば、プロトコルの DDInstall セクションに Ipx という名前が付けられている場合、そのプロトコルの Winsock-install セクションには Ipx.Winsock という名前を付ける必要があります。

Note

Winsock の依存関係は、Windows 8 以降では非推奨になりました。

Winsock-install セクションには、AddSock ディレクティブが含まれている必要があります。 AddSock ディレクティブは、コンポーネントの HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TransportDriverName\Params\Winsock キーに追加される値を含むベンダー名のセクションを指定します。

AddSock ディレクティブによって参照されるベンダー名のセクションには、次の必須の値が含まれている必要があります。

値の名前 説明

TransportService

プロトコルのサービス名を指定する REG_SZ 値。 これは、プロトコルの Ndi\Service 値と同じである必要があります。 詳細については、「Ndi キーへのサービス関連の値の追加」を参照してください。

HelperDllName

プロトコルの Windows ソケット ヘルパー (WSH) DLL へのパスを指定する REG_EXPAND_SZ 値。 詳細については、「WSH DLL 関数の概要」を参照してください。

MaxSockAddrLength

WSH DLL の有効な最大 SOCKADDR サイズをバイト単位で指定する REG_DWORD 値

MinSockAddrLength

WSH DLL の有効な最小 SOCKADDR サイズをバイト単位で指定する REG_DWORD 値

名前空間プロバイダーの省略可能な ProviderId を指定する場合は、次の値も指定する必要があります。

値の名前 説明

ProviderId

名前空間プロバイダーを識別するグローバル一意識別子 (GUID) を指定する REG_SZ 値。 GUID は、名前空間プロバイダーへの後続のすべての参照のキーとして使用されます。 uuidgen.exe ユーティリティを実行して GUID を取得します。 このユーティリティの詳細については、Microsoft Windows SDK を参照してください。

LibraryPath

名前空間プロバイダー DLL への完全パスを指定する REG_EXPAND_SZ 値。

DisplayString

ユーザー インターフェイスで表示される名前空間プロバイダーの名前を指定するローカライズ可能な文字列。

SupportedNameSpace

名前空間プロバイダーによってサポートされる名前空間を指定する REG_DWORD 値。

バージョン

名前空間プロバイダーのバージョン番号を指定する省略可能な REG_DWORD 値。 この値を指定しない場合は、バージョン番号に既定値 (1) が使用されます。

次の名前空間値は、SupportedNameSpace に割り当てることができ、Winsock2.h で定義されています。

名前空間 Value

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 セクションを作成するには、プロトコルの Remove セクション名に .Winsock 拡張子を追加します。 たとえば、プロトコルの Remove セクションの名前が Ipx.Remove の場合、プロトコルの Winsock-remove セクションには Ipx.Remove.Winsock という名前を付ける必要があります。

Winsock-remove セクションには、INF-writer-named セクションを指定する DelSock ディレクティブが含まれています。 INF-writer-named セクションでは、削除するトランスポート サービスを指定する必要があります。 ProviderId が以前にプロトコルに登録されている場合、vendor-named セクションでは削除する ProviderId も指定する必要があります。

次の例は、IPX プロトコルの Winsock 依存関係を削除する 2 つのセクションを示しています。

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