Windows ソケット トランスポートおよび名前空間サービス プロバイダーは、WSPStartupまたは NSPStartupサービス プロバイダー初期化関数のエクスポートされた単一のプロシージャ エントリ ポイントを持つ DLL です。 その他のすべてのサービス プロバイダー関数は、サービス プロバイダーのディスパッチ テーブルを介して Ws2_32.dll からアクセスできます。 サービス プロバイダー DLL は、必要な場合にのみ Ws2_32.dll によってメモリに読み込まれ、サービスが不要になったときにアンロードされます。
また、SPI では、トランスポート サービス プロバイダーが Ws2_32.dll (アップコール) を呼び出して DLL サポート サービスを取得する状況も定義されています。 トランスポート サービス プロバイダー DLL には、WSPStartupをするために、UpcallTable パラメーターを使用して Ws2_32.dllのアップコール ディスパッチ テーブルが指定されます。
サービス プロバイダーのファイル名拡張子を "DLL" から " に変更する必要があります。WSP" または ".NSP"。 この要件は厳密ではありません。 サービス プロバイダーは引き続き、任意のファイル名拡張子を持つ Ws2_32.dll で動作します。
Winsock SPI では、次の関数プレフィックスの名前付け規則が使用されます。
| 接頭辞 | 意味 | 形容 |
|---|---|---|
| WSP | Windows ソケット サービス プロバイダー | トランスポート サービス プロバイダーのエントリ ポイント |
| WPU | Windows ソケット プロバイダーの Upcall | サービス プロバイダーのエントリ ポイントを Ws2_32.dll する |
| WSC | Windows ソケットの構成 | インストール アプレットのエントリ ポイントを WS2_32.dll する |
| NSP | 名前空間プロバイダー | 名前空間プロバイダーのエントリ ポイント |
前述のように、これらのエントリ ポイントはエクスポートされません (WSPStartupおよび NSPStartupを除く)、ディスパッチ テーブルの交換を介してアクセスされます。