GetNameInfoW

アドレスから Unicode ホスト名への、またポート番号から Unicode サービス名への、プロトコル非依存な名前解決を提供する。

GetNameInfoW pSockaddr, SockaddrLength, pNodeBuffer, NodeBufferSize, pServiceBuffer, ServiceBufferSize, Flags

pSockaddr : [var] ソケットの IP アドレスとポート番号を含むソケットアドレス構造体へのポインタ。IPv4 の場合、pSockaddr パラメータは sockaddr_in 構造体を指す。IPv6 の場合、pSockaddr パラメータは sockaddr_in6 構造体を指す。
SockaddrLength : [int] pSockaddr パラメータが指す構造体の長さ (バイト単位)。
pNodeBuffer : [wstr] ホスト名を格納する Unicode 文字列へのポインタ。成功時には既定で FQDN としての Unicode ホスト名が返される。pNodeBuffer パラメータが NULL の場合、呼び出し元がホスト名文字列を必要としていないことを意味する。
NodeBufferSize : [int] pNodeBuffer パラメータが指すバッファの WCHAR 文字数。呼び出し元は、終端の NULL 文字を含めて Unicode ホスト名を格納するのに十分な大きさのバッファを用意しなければならない。
pServiceBuffer : [wstr] サービス名を格納する Unicode 文字列へのポインタ。成功時には、ポート番号に関連付けられたサービス名を表す Unicode 文字列へのポインタが返される。pServiceBuffer パラメータが NULL の場合、呼び出し元がサービス名文字列を必要としていないことを意味する。
ServiceBufferSize : [int] pServiceBuffer パラメータが指すバッファの WCHAR 文字数。呼び出し元は、終端の NULL 文字を含めて Unicode サービス名を格納するのに十分な大きさのバッファを用意しなければならない。
Flags : [int] GetNameInfoW 関数の処理をカスタマイズするために使う値。備考セクションを参照。

(プラグイン / モジュール : ws2_32.dll)

解説

アドレスから Unicode ホスト名への、またポート番号から Unicode サービス名への、プロトコル非依存な名前解決を提供する。

[戻り値]
成功時、GetNameInfoW はゼロを返す。0 以外の戻り値は失敗を示し、WSAGetLastError
を呼び出すことで特定のエラーコードを取得できる。GetNameInfoW 関数が返す 0 以外のエラーコードは、IETF
の勧告で概説されているエラーの集合にもマップされる。次の表は、これらのエラーコードとそれに対応する WSA エラーを示す。Winsock
プログラマにとって馴染みがあり包括的なエラー情報を提供するため、WSA エラーコードの使用を推奨する。
(以下省略)

[備考]
GetNameInfoW 関数は、プロトコル非依存な名前解決を提供する関数の Unicode 版である。GetNameInfoW
関数は、ソケットアドレス構造体の内容をノード名やサービス名に変換するために使用される。IPv6 および IPv4
プロトコルでは、名前解決は DNS、ローカルの hosts ファイル、その他の命名メカニズムによって行える。この関数は、IPv4 または
IPv6 アドレスのホスト名を調べる逆引き DNS
ルックアップや、ポート番号のサービス名を調べるために使用できる。GetNameInfoW 関数は、SOCKADDR 構造体に含まれる IP
アドレスやポート番号を Unicode 文字列に変換するためにも使用できる。また、ホスト名から IP
アドレスを調べるためにも使える。この関数の ANSI 版は getnameinfo である。Winsock
ヘッダファイルのマクロは、アプリケーションが Windows XP SP2 以降 (_WIN32_WINNT >= 0x0502)
を対象としている場合に使える、大文字小文字混在の関数名 GetNameInfo を定義する。この GetNameInfo
関数は、pNodeBuffer および pServiceBuffer パラメータに TCHAR
型のポインタを指定して呼び出す。UNICODE または _UNICODE が定義されている場合、GetNameInfo は Unicode
版として定義され、host および serv パラメータに char 型へのポインタを指定して GetNameInfoW
が呼び出される。UNICODE または _UNICODE が定義されていない場合、GetNameInfo は ANSI
版として定義され、pNodeBuffer および pServiceBuffer パラメータに PWCHAR 型へのポインタを指定して
getnameinfo が呼び出される。pNodeBuffer および pServiceBuffer
パラメータのバッファ要件を簡単に決められるよう、Ws2tcpip.h
ヘッダファイルでは最大ホスト名長と最大サービス名長の値が定義されている。
(以下省略)

情報

プラグイン / モジュールws2_32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の ws2_32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_ws2_32_gen2.hs