WSAAdvertiseProvider

特定のネームスペース バージョン 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
URLhttps://github.com/inovia/IronHSP
備考Win32 API の ws2_32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_ws2_32_gen2.hs