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
[out] lpServiceClassInfo
指定したサービス クラスの指定された名前空間プロバイダーからのサービス クラス情報を含む WSASERVICECLASSINFO 構造体へのポインター。
戻り値
WSAGetServiceClassInfo が成功した場合、戻り値は 0 になります。 それ以外の場合は、SOCKET_ERROR値が返され、WSAGetLastError
エラー コード | 意味 |
---|---|
操作を実行するためのメモリが不足していました。 | |
|
呼び出し元ルーチンには、情報にアクセスするための十分な特権がありません。 |
|
lpServiceClassInfo パラメーターが指すバッファーが小さすぎて WSASERVICECLASSINFOW を含められません。 アプリケーションは、より大きなバッファーを渡す必要があります。 |
|
指定されたサービス クラス識別子または名前空間プロバイダー識別子が無効です。 このエラーは、 |
|
この操作は、参照されるオブジェクトの種類ではサポートされていません。 このエラーは、サービス クラス情報の取得をサポートしていない一部の名前空間プロバイダーによって返されます。 |
要求された名前は有効ですが、要求された型のデータが見つかりませんでした。 | |
|
WS2_32.DLLが初期化されていません。 アプリケーションは、Windows ソケット関数を呼び出す前 WSAStartup を最初に呼び出す必要があります。 |
指定したクラスが見つかりませんでした。 |
備考
WSAGetServiceClassInfo 関数は、名前空間プロバイダーからサービス クラス情報を取得します。 特定の名前空間プロバイダーから取得されたサービス クラス情報は、サービス クラスのインストール時に指定されたクラス情報の完全なセットではない可能性があります。 個々の名前空間プロバイダーは、サポートされている名前空間に適用可能なサービス クラス情報のみを保持する必要があります。 詳細については、「サービス クラス のデータ構造
手記
winsock2.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして WSAGetServiceClassInfo を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされる最小サーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | winsock2.h |
ライブラリ | Ws2_32.lib |
DLL | Ws2_32.dll |
関連項目
WSAInstallServiceClass の
WSASERVICECLASSINFOW の
WSAStartup の