CSADDR_INFO 構造体 (nspapi.h)

CSADDR_INFO構造体には、ソケット、ネットワーク サービス、または名前空間プロバイダーの Windows ソケット アドレス情報が含まれています。

構文

typedef struct _CSADDR_INFO {
  SOCKET_ADDRESS LocalAddr;
  SOCKET_ADDRESS RemoteAddr;
  INT            iSocketType;
  INT            iProtocol;
} CSADDR_INFO, *PCSADDR_INFO, *LPCSADDR_INFO;

メンバー

LocalAddr

種類: SOCKET_ADDRESS

Windows ソケットのローカル アドレス。

クライアント アプリケーションで、このアドレスを バインド 関数に渡して、ネットワーク サービスへのアクセスを取得します。

ネットワーク サービスで、このアドレスを バインド 関数に渡して、サービスが適切なローカル アドレスにバインドされるようにします。

RemoteAddr

種類: SOCKET_ADDRESS

Windows ソケットのリモート アドレス。

このリモート アドレスにはいくつかの用途があります。

  • このリモート アドレスを使用して、connect 関数を使用してサービスに 接続 できます。 これは、アプリケーションが接続指向プロトコルを含む 送信/受信 操作を実行する場合に便利です。
  • このリモート アドレスは、コネクションレス (データグラム) プロトコル経由で通信する場合に sendto 関数と共に使用できます。 UDP などのコネクションレス プロトコルを使用している場合、 sendto は通常、リモート システムにデータを渡す方法です。

iSocketType

型: INT

Windows ソケットの種類。 ソケットの種類に使用できる値は、 Winsock2.h ヘッダー ファイルで定義されています。

次の表に、Windows ソケット 2 でサポートされる使用可能な値を示します。

意味
Sock_stream
ストリーム ソケット。 これは、メッセージ境界のないバイト ストリームとしてデータを送信するプロトコルです。 このソケット型は、OOB データ転送メカニズムを備えた、シーケンス化された信頼性の高い双方向の接続ベースのバイト ストリームを提供します。 このソケットの種類は、インターネット アドレス ファミリ (AF_INET または AF_INET6) に伝送制御プロトコル (TCP) を使用します。
SOCK_DGRAM
データグラム ソケット。 このソケット型は、固定 (通常は小さい) 最大長のコネクションレスで信頼性の低いバッファーであるデータグラムをサポートします。 このソケットの種類では、インターネット アドレス ファミリ (AF_INET または AF_INET6) にユーザー データグラム プロトコル (UDP) が使用されます。

サービスは recvfrom 関数を使用してデータグラムを取得します。 リッスン関数と受け入れ関数は、データグラムでは機能しません。

SOCK_RDM
信頼性の高いメッセージ データグラム ソケット。 このソケット型は、データ内のメッセージ境界を保持します。 この種類の例として、Windows でのプラグマティック一般マルチキャスト (PGM) マルチキャスト プロトコルの実装があります。これは、 信頼性の高いマルチキャスト プログラミングと呼ばれることがよくあります。
SOCK_SEQPACKET
シーケンス化されたパケット ストリーム ソケット。 このソケットの種類は、データグラムに基づいて擬似ストリーム パケットを提供します。

iProtocol

型: INT

使用されるプロトコル。 protocol パラメーターに指定できるオプションは、指定されたアドレス ファミリとソケットの種類に固有です。 指定できる値は、 Winsock2.h ヘッダー ファイルと Wsrm.h ヘッダー ファイルで定義されます。

Windows Vista 以降でリリースされたWindows SDKでは、ヘッダー ファイルのorganizationが変更され、このパラメーターには、Ws2def.h ヘッダー ファイルで定義されている IPPROTO 列挙型の値のいずれかを指定できます。 Ws2def.h ヘッダー ファイルは Winsock2.h に自動的に含まれるので、直接使用しないでください。

次の表に 、プロトコル の一般的な値を示しますが、他の多くの値を使用できます。

protocol 意味
IPPROTO_TCP
6
伝送制御プロトコル (TCP)。 これは、アドレス ファミリが AF_INET または AF_INET6、iSocketType メンバーが SOCK_STREAMされている場合に使用できる値です。
IPPROTO_UDP
17
ユーザー データグラム プロトコル (UDP)。 これは、アドレス ファミリが AF_INET または AF_INET6、iSocketType メンバーが SOCK_DGRAM場合に使用できる値です。
IPPROTO_RM
113
信頼性の高いマルチキャスト用の PGM プロトコル。 これは、アドレス ファミリが AF_INET され、 iSocketType メンバーが SOCK_RDMされている場合に使用できる値です。 Windows Vista 以降用にリリースされたWindows SDKでは、この値は IPPROTO_PGM とも呼ばれます。

注釈

GetAddressByName 関数は、CSADDR_INFO構造体を使用して Windows ソケットのアドレス情報を取得します。

SO_BSP_STATE ソケット オプションを指定して呼び出された getsockopt 関数は、指定されたソケットのCSADDR_INFO構造体を取得します。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header nspapi.h (Nspapi.h を含む)

こちらもご覧ください

GetAddressByName

SOCKET_ADDRESS

SO_BSP_STATE

bind

connect

getsockopt

Recv

送信

Sendto