GetAddrInfoW

Unicode のホスト名からアドレスへのプロトコル非依存な変換を提供する。

GetAddrInfoW pNodeName, pServiceName, pHints, ppResult

pNodeName : [wstr] ホスト (ノード) 名または数値形式のホストアドレス文字列を格納した NULL 終端 Unicode 文字列へのポインタ。インターネットプロトコルの場合、数値形式のホストアドレス文字列はドット区切り十進表記の IPv4 アドレスまたは 16 進表記の IPv6 アドレスである。
pServiceName : [wstr] サービス名、または文字列として表現されたポート番号のいずれかを格納した NULL 終端 Unicode 文字列へのポインタ。サービス名はポート番号の文字列エイリアスである。たとえば "http" は、HTTP プロトコルで Web サーバが既定で使用するポートとして IETF が定めたポート 80 のエイリアスである。ポート番号を指定しない場合の pServiceName パラメータとして使用可能な値は、次のファイルに列挙されている: %WINDIR%\system32\drivers\etc\services
pHints : [var] 呼び出し元がサポートするソケットの種類についてのヒントを与える addrinfoW 構造体へのポインタ。pHints パラメータが指す addrinfoW 構造体の ai_addrlen、ai_canonname、ai_addr、ai_next メンバはゼロまたは NULL でなければならない。そうでない場合、GetAddrInfoEx 関数は WSANO_RECOVERY で失敗する。詳細は備考を参照。
ppResult : [var] ホストに関する応答情報を含む 1 つ以上の addrinfoW 構造体のリンクリストへのポインタ。

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

解説

Unicode のホスト名からアドレスへのプロトコル非依存な変換を提供する。

[戻り値]
成功時はゼロを返す。失敗時は Windows Sockets エラーコード一覧にある 0 以外の Windows Sockets
エラーコードを返す。GetAddrInfoW 関数が返す 0 以外のエラーコードのほとんどは、IETF
の勧告で概説されているエラーの集合にマップされる。Winsock プログラマにとって馴染みがあり包括的なエラー情報を提供するため、WSA
エラーコードの使用を推奨する。
(以下省略)

[備考]
GetAddrInfoW 関数は、ホスト名からアドレスへのプロトコル非依存な変換を提供する関数の Unicode 版である。ANSI 版は
getaddrinfo である。GetAddrInfoW 関数は NS_DNS
名前空間に対する結果を返す。複数のネームスペースプロバイダから情報が返された場合、GetAddrInfoW
関数はそれらの応答をすべて集約する。IPv6 および IPv4 プロトコルで NS_DNS 名前空間を使う場合、名前解決は
DNS、ローカルの hosts ファイル、その他の命名メカニズムによって行える。Winsock
ヘッダファイルのマクロは、大文字小文字混在の関数名 GetAddrInfo と ADDRINFOT 構造体を定義している。この
GetAddrInfo 関数は、pNodeName および pServiceName パラメータに TCHAR
型のポインタを、pHints および ppResult パラメータに ADDRINFOT 型のポインタを指定して呼び出す。UNICODE
または _UNICODE が定義されている場合、GetAddrInfo は Unicode 版の GetAddrInfoW
として定義され、ADDRINFOT は addrinfoW 構造体として定義される。UNICODE または _UNICODE
が定義されていない場合、GetAddrInfo は ANSI 版の getaddrinfo として定義され、ADDRINFOT は
addrinfo 構造体として定義される。pNodeName または pServiceName パラメータの少なくとも一方は NULL
終端 Unicode 文字列を指していなければならない。通常は両方を指定する。成功時には addrinfoW 構造体のリンクリストが
ppResult パラメータに返される。リストは返された各 addrinfoW 構造体の ai_next
メンバが指すポインタをたどり、NULL ポインタに出会うまで処理できる。返された各 addrinfoW 構造体の
ai_family、ai_socktype、ai_protocol メンバは、socket または WSASocket
関数呼び出しのそれぞれの引数に対応する。また、返された各 addrinfoW 構造体の ai_addr
メンバは、内容が埋められたソケットアドレス構造体を指し、その長さは ai_addrlen メンバで指定される。pNodeName
パラメータがコンピュータ名を指している場合、送信元アドレスとして使用可能な当該コンピュータの永続アドレスがすべて返される。pNodeName
パラメータが "localhost"
と等しい文字列を指している場合、ローカルコンピュータ上のすべてのループバックアドレスが返される。pNodeName
パラメータが空文字列を含む場合、ローカルコンピュータに登録済みのすべてのアドレスが返される。Windows Server 2003 以降で
pNodeName パラメータが "..localmachine"
と等しい文字列を指している場合、ローカルコンピュータに登録済みのすべてのアドレスが返される。pNodeName
パラメータがクラスタ仮想サーバ名を参照している場合、仮想サーバアドレスのみが返される。
呼び出し元は、pHints パラメータが指す addrinfoW 構造体を通じて、サポートするソケットの種類に関するヒントを
GetAddrInfoW 関数に渡せる。pHints パラメータを使う場合、それに関連付けられた addrinfoW
構造体には次の規則が適用される。
(以下省略)

情報

プラグイン / モジュール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