WSAGetServiceClassNameByClassIdA 関数 (winsock2.h)

WSAGetServiceClassNameByClassId 関数は、指定した型に関連付けられているサービスの名前を取得します。 この名前は、FTP や SNA などの汎用サービス名であり、そのサービスの特定のインスタンスの名前ではありません。

構文

INT WSAAPI WSAGetServiceClassNameByClassIdA(
  [in]      LPGUID  lpServiceClassId,
  [out]     LPSTR   lpszServiceClassName,
  [in, out] LPDWORD lpdwBufferLength
);

パラメーター

[in] lpServiceClassId

サービス クラスの GUID へのポインター。

[out] lpszServiceClassName

サービス名へのポインター。

[in, out] lpdwBufferLength

入力時に、 lpszServiceClassName によって返されるバッファーの長さを文字数で指定します。 出力時に、 lpszServiceClassName にコピーされたサービス名の長さを文字数で指定します。

戻り値

WSAGetServiceClassNameByClassId 関数は、成功した場合は 0 の値を返します。 それ以外の場合は、SOCKET_ERROR値が返され、 WSAGetLastError を呼び出すことによって特定のエラー番号を取得できます。

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

注釈

注意

winsock2.h ヘッダーは、WSAGetServiceClassNameByClassId をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー winsock2.h
Library Ws2_32.lib
[DLL] Ws2_32.dll

こちらもご覧ください

WSAStartup

Winsock 関数

Winsock リファレンス