getservbyname 関数 (winsock2.h)

getservbyname 関数は、サービス名とプロトコルに対応するサービス情報を取得します。

構文

servent *WSAAPI 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 の両方と一致します。

戻り値

エラーが発生しない場合、 getservbynameservent 構造体へのポインターを返します。 それ以外の場合は null ポインターを返し、 WSAGetLastError を呼び出すことで特定のエラー番号を取得できます。

エラー コード 意味
WSANOTINITIALIZED
この関数を使用する前に 、WSAStartup 呼び出しが正常に行われる必要があります。
WSAENETDOWN
ネットワーク サブシステムが失敗しました。
WSAHOST_NOT_FOUND
権限のある応答サービスが見つかりません。
WSATRY_AGAIN
認証されていないサービスが見つからないか、サーバーが失敗しました。
WSANO_RECOVERY
回復不可能なエラー。サービス データベースにアクセスできません。
WSANO_DATA
有効な名前。要求された型のデータ レコードはありません。
WSAEINPROGRESS
ブロックしている Windows ソケット 1.1 呼び出しが進行中であるか、サービス プロバイダーがコールバック関数を処理しています。
WSAEINTR
ブロックしている Windows ソケット 1.1 呼び出しが WSACancelBlockingCall によって取り消されました。

注釈

getservbyname 関数は、name パラメーターの文字列に一致する名前とサービス番号を含む servent 構造体へのポインターを返します。 すべての文字列は null で終わる。

返されるポインターは、Windows ソケット ライブラリによって割り当てられた servent 構造体を指します。 アプリケーションは、この構造を変更したり、そのコンポーネントを解放したりしないでください。 さらに、この構造体のコピーはスレッドごとに 1 つだけ割り当てられるため、アプリケーションは、他の Windows ソケット関数呼び出しを発行する前に、必要な情報をコピーする必要があります。

Windows Phone 8: この関数は、Windows Phone 8 以降のWindows Phone ストア アプリでサポートされています。

Windows 8.1Windows Server 2012 R2: この関数は、Windows 8.1、Windows Server 2012 R2 以降の Windows ストア アプリでサポートされています。

要件

要件
サポートされている最小のクライアント Windows 8.1、 Windows Vista [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー winsock2.h (Winsock2.h を含む)
Library Ws2_32.lib
[DLL] Ws2_32.dll

こちらもご覧ください

WSAAsyncGetServByName

Winsock 関数

Winsock リファレンス

getservbyport