関数インターフェイス モデル

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を除く)、ディスパッチ テーブルの交換を介してアクセスされます。