次の方法で共有


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 を呼び出すことによって特定のエラー番号を取得できます。

エラー コード 意味
WSA_NOT_ENOUGH_MEMORY
操作を実行するためのメモリが不足していました。
WSAEACCES
呼び出し元ルーチンには、情報にアクセスするための十分な特権がありません。
WSAEFAULT
lpServiceClassInfo パラメーターが指すバッファーが小さすぎて WSASERVICECLASSINFOW を含められません。 アプリケーションは、より大きなバッファーを渡す必要があります。
WSAEINVAL
指定されたサービス クラス識別子または名前空間プロバイダー識別子が無効です。 lpProviderId、lpServiceClassIdlpdwBufSize、または lpServiceClassInfo パラメーターが NULL の場合、このエラーが返されます。
WSAEOPNOTSUPP
この操作は、参照されるオブジェクトの種類ではサポートされていません。 このエラーは、サービス クラス情報の取得をサポートしていない一部の名前空間プロバイダーによって返されます。
WSANO_DATA
要求された名前は有効ですが、要求された種類のデータが見つかりませんでした。
WSANOTINITIALIZED
WS2_32.DLL が初期化されていません。 アプリケーションは、Windows ソケット関数を呼び出す前に、まず WSAStartup を呼び出す必要があります。
WSATYPE_NOT_FOUND
指定したクラスが見つかりませんでした。

解説

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

関連項目

サービス クラスのデータ構造

WSAInstallServiceClass

WSASERVICECLASSINFOW

WSAStartup

Winsock 関数

Winsock リファレンス