特定のネームスペース バージョン 2 プロバイダをすべての対象クライアントに対して使用可能にする。
WSAAdvertiseProvider puuidProviderId, pNSPv2Routine
puuidProviderId : [var] 広告するネームスペースプロバイダのプロバイダ ID へのポインタ。 pNSPv2Routine : [var] プロバイダがサポートするネームスペースサービスプロバイダ バージョン 2 のエントリーポイントを持つ **NSPV2_ROUTINE** 構造体へのポインタ。
(プラグイン / モジュール : ws2_32.dll)
特定のネームスペース バージョン 2 プロバイダをすべての対象クライアントに対して使用可能にする。 [戻り値] エラーがない場合、WSAProviderCompleteAsyncCall はゼロを返す。関数が失敗した場合、戻り値は SOCKET_ERROR となる。拡張エラー情報を取得するには、WSAGetLastError を呼び出す。これは次の拡張エラー値のいずれかを返す。 (以下省略) [備考] **WSAAdvertiseProvider** 関数は、Windows Vista 以降で利用可能なネームスペースサービスプロバイダ バージョン 2 (NSPv2) アーキテクチャの一部として使用される。Windows Vista および Windows Server 2008 では、**WSAAdvertiseProvider** 関数は NS_EMAIL ネームスペースプロバイダの操作にのみ使用できる。**WSAAdvertiseProvider** 関数は、クライアントが検出できるように NSPv2 プロバイダのインスタンスを広告する。広告するインスタンスがアプリケーション種別プロバイダのインスタンス (NAPI_PROVIDER_INSTALLATION_BLOB 構造体の **dwProvideType** メンバが **ProviderType_Application** のネームスペースプロバイダ) である場合、広告されたプロバイダインスタンスは、**WSAAdvertiseProvider** の呼び出し元と同じユーザーかつ同じセッションで動作するすべてのクライアントプロセスから可視となる。一般に、NSPv2 プロバイダは呼び出し側アプリケーション以外のプロセス内で実装される。NSPv2 プロバイダはクライアントの動作によりアクティブ化されない。各プロバイダホスティングアプリケーションは、**WSAAdvertiseProvider** と WSAUnadvertiseProvider 関数を呼び出すことで、特定のプロバイダを使用可能あるいは使用不可にするタイミングを決定する。クライアントの動作は、プロバイダが (ネームスペースプロバイダが広告されている) 使用可能状態のときにプロバイダへの接続を試みるだけである。**WSAAdvertiseProvider** 関数は、特定のプロバイダをすべての対象クライアント (現在はホスティングアプリケーションと同じ資格情報かつ同じユーザーセッションで動作するすべてのアプリケーション) に対して使用可能にしたいアプリケーションから呼び出される。 1 つのプロセスが複数のプロバイダを同時に実装・広告できる。Windows Sockets はネームスペースプロバイダを管理し、呼び出しを正しいプロバイダにディスパッチする。また RPC インターフェースの詳細を隠蔽し、プロセス間呼び出しをプロセス内呼び出しに変換する。したがって NSPv2 プロバイダは、NSPv1 プロバイダが使う NSP_ROUTINE 構造体と類似のエントリーポイント関数のテーブルを実装するだけでよい。NSPv2 プロバイダは RPC 固有の要件 (例: データのマーシャリングとシリアライゼーション) を気にする必要がない。 **WSAAdvertiseProvider** 呼び出し元は、プロバイダがサポートする NSPv2 エントリーポイントを持つ NSPV2_ROUTINE 構造体へのポインタを pNSPv2Routine パラメータで渡す。 WSAUnadvertiseProvider 関数は、特定のネームスペースプロバイダをクライアントから使用不可にする。
| プラグイン / モジュール | ws2_32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の ws2_32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_ws2_32_gen2.hs |