WSAGetServiceClassInfoW

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
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