getservbyname 関数 (winsock.h)
getservbyname 関数は、サービス名とプロトコルに対応するサービス情報を取得します。
構文
servent * getservbyname(
[in] const char *name,
[in] const char *proto
);
パラメーター
[in] name
null で終わるサービス名へのポインター。
[in] proto
null で終わるプロトコル名へのポインター。 このポインターが NULL の場合、getservbyname 関数は最初のサービス エントリを返します。ここで name は、servent 構造体のs_name メンバーまたは servent 構造体のs_aliases メンバーと一致します。 それ以外の場合、 getservbyname は 名前 と proto の両方と一致します。
戻り値
エラーが発生しない場合、 getservbyname は servent 構造体へのポインターを返します。 それ以外の場合は null ポインターを返し、 WSAGetLastError を呼び出すことで特定のエラー番号を取得できます。
エラー コード | 意味 |
---|---|
この関数を使用する前に 、WSAStartup 呼び出しが正常に行われる必要があります。 | |
ネットワーク サブシステムが失敗しました。 | |
権限のある応答サービスが見つかりません。 | |
認証されていないサービスが見つからないか、サーバーが失敗しました。 | |
回復不可能なエラー。サービス データベースにアクセスできません。 | |
有効な名前。要求された型のデータ レコードはありません。 | |
ブロックしている Windows ソケット 1.1 呼び出しが進行中であるか、サービス プロバイダーがコールバック関数を処理しています。 | |
ブロックしている Windows ソケット 1.1 呼び出しが WSACancelBlockingCall によって取り消されました。 |
注釈
getservbyname 関数は、name パラメーターの文字列に一致する名前とサービス番号を含む servent 構造体へのポインターを返します。 すべての文字列は null で終わる。
返されるポインターは、Windows ソケット ライブラリによって割り当てられた servent 構造体を指します。 アプリケーションは、この構造を変更したり、そのコンポーネントを解放したりしないでください。 さらに、この構造体のコピーはスレッドごとに 1 つだけ割り当てられるため、アプリケーションは、他の Windows ソケット関数呼び出しを発行する前に、必要な情報をコピーする必要があります。
Windows Phone 8: この関数は、Windows Phone 8 以降のWindows Phone ストア アプリでサポートされています。
Windows 8.1とWindows Server 2012 R2: この関数は、Windows 8.1、Windows Server 2012 R2 以降の Windows ストア アプリでサポートされています。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8.1、 Windows Vista [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | winsock.h (Winsock2.h を含む) |
Library | Ws2_32.lib |
[DLL] | Ws2_32.dll |