CAsyncSocket::GetSockNameEx
更新 : 2007 年 11 月
ソケットのローカル名を取得します。この関数は、IPv6 アドレスを処理します。
BOOL GetSockNameEx(
CString& rSocketAddress,
UINT& rSocketPort
);
パラメータ
rSocketAddress
ドットで区切られた数字列の IP アドレスを受け取る CString オブジェクトへの参照。rSocketPort
ポートを格納する UINT 型変数への参照。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。GetLastError を呼び出すと、固有のエラー コードを取得できます。このメンバ関数では、次のエラーが発生します。
WSANOTINITIALISED この API を使う前に AfxSocketInit の呼び出しが正常終了していることが必要です。
WSAENETDOWN Windows ソケットの実装が、ネットワーク サブシステムの異常を検出しました。
WSAEFAULT 引数 lpSockAddrLen の長さが不足しています。
WSAEINPROGRESS 実行中の Windows ソケット呼び出しがブロッキングされています。
WSAENOTSOCK 記述子がソケットではありません。
WSAEINVAL ソケットは Bind を使ってアドレスにバインドされていません。
解説
この関数は、従来のプロトコルだけでなく IPv6 アドレスを処理します。それ以外は CAsyncSocket::GetSockName と同じです。
最初に Bind を呼び出さずに Connect を呼び出してしまったときに有用です。つまり、システムが設定したローカルな関連付けを調べるためだけに用意されています。
必要条件
ヘッダー : afxsock.h