freeaddrinfo
更新日2006年11月29日
参照 http://msdn2.microsoft.com/en-us/library/ms737931.aspx

機能
getaddrinfo 関数により動的割り当てされた addrinfo 構造体を、freeaddrinfo 関数は開放します。

書式
void freeaddrinfo(
  struct addrinfo* ai
);
引数
ai [入] addrinfo 構造体 または addrinfo 構造体のリンクドリストへのポインタは開放されます。 addrinfo 構造体 または 構造体の中に示されたすべての動的記憶域が解放されます。
戻り値
この関数は値を戻しません。

注釈

ANSI getaddrinfo 関数によって動的割り当てされた addrinfo 構造体を、freeaddrinfo 関数は開放します。 freeaddrinfo 関数は、ai パラメータで指される最初の addrinfo 構造体を開放します、 構造体メンバが指すいくつかのバッファも含み、 そして addrinfo 構造体の ai_next メンバーによってリンクされているどんな addrinfo 構造体でも開放し続けます。 ai_next メンバが NULL に遭遇するまで繰り返し、freeaddrinfo 関数はリンクされている構造体を開放し続けます。

Winsockヘッダファイルのマクロは、FreeAddrInfo と ADDRINFOT 構造体の混合されたケース関数名を定義します。 この FreeAddrInfo 関数は、タイプ ADDRINFOT のポインターの ai パラメータで呼ばれなければなりません。 UNICODE または _UNICODE が定義されていない時、FreeAddrInfoは、freeaddrinfo として定義されます、関数のANSIバージョン、そして、ADDRINFOTaddrinfo 構造体として定義されます。 UNICODE または _UNICODE が定義されている時、FreeAddrInfoは、FreeAddrInfoW として定義されます、関数のUnicodeバージョン、そして、ADDRINFOTaddrinfoW 構造体として定義されます。


Windowsの以前のバージョンでのfreeaddrinfoのサポート

freeaddrinfo 関数は Windows XP 以降の Ws2_32.dll に追加されました。 以前のWindowsバージョン(Windows 2000, Windows NT, and Windows Me/98/95)上にてこの関数を使用しているアプリケーションを実行するために、あなたは Ws2tcpip.h ファイルと Wspiapi.h ファイルをインクルードしなければなりません。 Wspiapi.h インクルードファイルが加えられた時、freeaddrinfo 関数は Wspiapi.h ファイルでWspiapiFreeAddrInfoインライン関数として定義されます。 実行時に、WspiapiFreeAddrInfo 関数は、Ws2_32.dll または Wship6.dll (Windows 2000のためにIPv6 Technology Previewにて freeaddrinfo を含んでいるファイル) が freeaddrinfo を含まないならば、freeaddrinfo のバージョンが Wspiapi.h ヘッダファイルのコード上にてインラインベースとして実装されます。 以前の Windows プラットフォーム上では freeaddrinfo 関数をネイティブにサポートしていないので、こちらのインラインコードが使用されるでしょう。

FreeAddrInfoW 関数は freeaddrinfo の Unicode 版です。 FreeAddrInfoW 関数は Windows XP SP2 の Ws2_32.dll にて追加されました。 Windows XP SP2 以前のWindowsバージョンでは FreeAddrInfoW 関数を使用出来ません。


要求環境
Client Requires Windows Vista, Windows XP, Windows 2000 Professional, Windows NT Workstation, Windows Me, Windows 98, or Windows 95.
Server Requires Windows Server "Longhorn", Windows Server 2003, Windows 2000 Server, or Windows NT Server.
Header Declared in Ws2tcpip.h on Windows Server "Longhorn", Windows Vista, Windows Server 2003, and Windows XP.

Declared in Ws2tcpip.h on Windows 2000, Windows NT, and Windows Me/98/95; include Wspiapi.h.
Library Use libws2_32.a
DLL Requires Ws2_32.dll.

参照
addrinfo
addrinfoW
FreeAddrInfoW
getaddrinfo
GetAddrInfoW
Winsock Functions