getservbyport 関数 (winsock.h)

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

構文

servent * getservbyport(
  [in] int        port,
  [in] const char *proto
);

パラメーター

[in] port

サービスのポート (ネットワークのバイト順)。

[in] proto

プロトコル名への省略可能なポインター。 これが null の場合、getservbyport は、ポートservent 構造体のs_portと一致する最初のサービス エントリを返します。 それ以外の場合、 getservbyportポートproto パラメーターの両方と一致します。

戻り値

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

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

注釈

getservbyport 関数は、getservbyname 関数と同様に、servent 構造体へのポインターを返します。

servent 構造体は、Windows ソケットによって割り当てられます。 アプリケーションは、この構造を変更したり、そのコンポーネントを解放したりしないでください。 さらに、この構造体のコピーはスレッドごとに 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
ヘッダー winsock.h (Winsock2.h を含む)
Library Ws2_32.lib
[DLL] Ws2_32.dll

こちらもご覧ください

WSAAsyncGetServByPort

Winsock 関数

Winsock リファレンス

getservbyname