次の方法で共有


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

参照

参照

CAsyncSocket クラス

階層図

CAsyncSocket::Bind

CAsyncSocket::Create

CAsyncSocket::GetPeerName

その他の技術情報

CAsyncSocket のメンバ