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 を呼び出すことによって特定のエラー番号を取得できます。
エラー コード | 意味 |
---|---|
指定された lpServiceClassId パラメーターが無効です。 | |
操作を実行するためのメモリが不足していました。 | |
呼び出し元ルーチンには、情報にアクセスするための十分な特権がありません。 | |
lpszServiceClassName が指す指定されたバッファーが小さすぎます。 より大きなバッファーを渡します。 | |
使用できるバッファー領域がありません。 | |
操作は、参照されるオブジェクトの種類ではサポートされていません。 このエラーは、サービス クラス情報の取得をサポートしていない一部の名前空間プロバイダーによって返されます。 | |
lpServiceClassId は有効ですが、要求された型のデータが見つかりませんでした。 | |
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 |