getservbyport 関数 (winsock.h)
getservbyport 関数は、ポートとプロトコルに対応するサービス情報を取得します。
構文
servent * getservbyport(
[in] int port,
[in] const char *proto
);
パラメーター
[in] port
サービスのポート (ネットワークのバイト順)。
[in] proto
プロトコル名への省略可能なポインター。 これが null の場合、getservbyport は、ポートが servent 構造体のs_portと一致する最初のサービス エントリを返します。 それ以外の場合、 getservbyport は ポート と proto パラメーターの両方と一致します。
戻り値
エラーが発生しない場合、 getservbyport は servent 構造体へのポインターを返します。 それ以外の場合は null ポインターを返し、 WSAGetLastError を呼び出すことで特定のエラー番号を取得できます。
エラー コード | 意味 |
---|---|
この関数を使用する前に 、WSAStartup 呼び出しが正常に行われる必要があります。 | |
ネットワーク サブシステムが失敗しました。 | |
権限のある応答サービスが見つかりません。 | |
認証されていないサービスが見つからないか、サーバーが失敗しました。 | |
回復不可能なエラー。サービス データベースにアクセスできません。 | |
有効な名前。要求された型のデータ レコードはありません。 | |
ブロックしている Windows ソケット 1.1 呼び出しが進行中であるか、サービス プロバイダーがコールバック関数を処理しています。 | |
proto パラメーターは、ユーザー アドレス空間の有効な部分ではありません。 | |
ブロックしている Windows ソケット 1.1 呼び出しが WSACancelBlockingCall によって取り消されました。 |
注釈
getservbyport 関数は、getservbyname 関数と同様に、servent 構造体へのポインターを返します。
servent 構造体は、Windows ソケットによって割り当てられます。 アプリケーションは、この構造を変更したり、そのコンポーネントを解放したりしないでください。 さらに、この構造体のコピーはスレッドごとに 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 |