WSAGetServiceClassInfo 関数は、指定したネームスペースプロバイダから、指定したサービスクラスに関するクラス情報 (スキーマ) を取得する。(Unicode)
WSAGetServiceClassInfoW lpProviderId, lpServiceClassId, lpdwBufSize, lpServiceClassInfo
lpProviderId : [var] 特定のネームスペースプロバイダを識別する GUID へのポインタ。 lpServiceClassId : [var] サービスクラスを識別する GUID へのポインタ。 lpdwBufSize : [var] 入力時、lpServiceClassInfo パラメータが指すバッファに含まれるバイト数。出力時、関数が失敗しエラーが WSAEFAULT である場合、このパラメータはレコードを取得するために lpServiceClassInfo が指すバッファに必要な最小サイズ (バイト単位) を示す。 lpServiceClassInfo : [var] 指定したネームスペースプロバイダから取得した、指定したサービスクラスに関するサービスクラス情報を含む WSASERVICECLASSINFO 構造体へのポインタ。
(プラグイン / モジュール : ws2_32.dll)
WSAGetServiceClassInfo 関数は、指定したネームスペースプロバイダから、指定したサービスクラスに関するクラス情報 (スキーマ) を取得する。(Unicode) [戻り値] WSAGetServiceClassInfo が成功した場合、戻り値はゼロである。そうでない場合は SOCKET_ERROR を返し、WSAGetLastError を呼び出すことで特定のエラー番号を取得できる。 (以下省略) [備考] WSAGetServiceClassInfo 関数は、ネームスペースプロバイダからサービスクラス情報を取得する。特定のネームスペースプロバイダから取得したサービスクラス情報は、そのサービスクラスがインストールされた時点で指定されたクラス情報の完全な集合でないことがある。個別のネームスペースプロバイダは、自身がサポートする名前空間に関連するサービスクラス情報のみを保持すれば十分である。詳しくは Service Class Data Structures のセクションを参照。 > [!NOTE] > winsock2.h ヘッダは、UNICODE プリプロセッサ定数の定義に基づいて本関数の ANSI 版と Unicode 版を自動的に選択するエイリアスとして WSAGetServiceClassInfo を定義している。エンコーディング中立なエイリアスとエンコーディング中立でないコードを混在させると、コンパイルエラーや実行時エラーを招く不整合が発生しうる。詳しくは [Conventions for Function Prototypes](/windows/win32/intl/conventions-for-function-prototypes) を参照。
| プラグイン / モジュール | 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 |