WSAGetServiceClassInfoA 関数 (winsock2.h)
WSAGetServiceClassInfo 関数は、指定した名前空間プロバイダーから、指定したサービス クラスに関連するクラス情報 (スキーマ) を取得します。
構文
INT WSAAPI WSAGetServiceClassInfoA(
[in] LPGUID lpProviderId,
[in] LPGUID lpServiceClassId,
[in, out] LPDWORD lpdwBufSize,
[out] LPWSASERVICECLASSINFOA lpServiceClassInfo
);
パラメーター
[in] lpProviderId
特定の名前空間プロバイダーを識別する GUID へのポインター。
[in] lpServiceClassId
サービス クラスを識別する GUID へのポインター。
[in, out] lpdwBufSize
入力時に、 lpServiceClassInfo パラメーターによって指されるバッファーに含まれるバイト数。
出力時に、関数が失敗し、エラーが WSAEFAULT の場合、このパラメーターは、レコードを取得するために必要な lpServiceClassInfo を指すバッファーの最小サイズをバイト単位で指定します。
[out] lpServiceClassInfo
指定したサービス クラスの指定された名前空間プロバイダーからのサービス クラス情報を含む WSASERVICECLASSINFO 構造体へのポインター。
戻り値
WSAGetServiceClassInfo が成功した場合、戻り値は 0 です。 それ以外の場合は、SOCKET_ERROR値が返され、 WSAGetLastError を呼び出すことによって特定のエラー番号を取得できます。
エラー コード | 意味 |
---|---|
操作を実行するためのメモリが不足していました。 | |
呼び出し元ルーチンには、情報にアクセスするための十分な特権がありません。 | |
lpServiceClassInfo パラメーターが指すバッファーが小さすぎて WSASERVICECLASSINFOW を含められません。 アプリケーションは、より大きなバッファーを渡す必要があります。 | |
指定されたサービス クラス識別子または名前空間プロバイダー識別子が無効です。 lpProviderId、lpServiceClassId、lpdwBufSize、または lpServiceClassInfo パラメーターが NULL の場合、このエラーが返されます。 | |
この操作は、参照されるオブジェクトの種類ではサポートされていません。 このエラーは、サービス クラス情報の取得をサポートしていない一部の名前空間プロバイダーによって返されます。 | |
要求された名前は有効ですが、要求された種類のデータが見つかりませんでした。 | |
WS2_32.DLL が初期化されていません。 アプリケーションは、Windows ソケット関数を呼び出す前に、まず WSAStartup を呼び出す必要があります。 | |
指定したクラスが見つかりませんでした。 |
解説
WSAGetServiceClassInfo 関数は、名前空間プロバイダーからサービス クラス情報を取得します。 特定の名前空間プロバイダーから取得されたサービス クラス情報は、サービス クラスのインストール時に指定されたクラス情報の完全なセットではない可能性があります。 個々の名前空間プロバイダーは、サポートされている名前空間に適用できるサービス クラス情報を保持するためにのみ必要です。 詳細については、「 Service Class Data Structures 」セクションを参照してください。
注意
winsock2.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして WSAGetServiceClassInfo を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | winsock2.h |
Library | Ws2_32.lib |
[DLL] | Ws2_32.dll |