WSADATA 構造体
WSADATA 構造体は AfxSocketInit グローバル関数が返す Windows ソケット初期化情報を保持します。
struct WSAData {
WORD wVersion;
WORD wHighVersion;
char szDescription[WSADESCRIPTION_LEN+1];
char szSystemStatus[WSASYSSTATUS_LEN+1];
unsigned short iMaxSockets;
unsigned short iMaxUdpDg;
char FAR * lpVendorInfo;
};
パラメーター
wVersion
Windows ソケット DLL が呼び出し側に使用を求める Windows ソケット仕様のバージョンです。wHighVersion
この DLL がサポートしている Windows ソケット仕様の最も高いバージョンです。 通常、これは wVersion と同じです。szDescription
Windows ソケット DLL が、発売元識別を含む Windows ソケットの実装の記述をコピーする NULL で終わる ASCII 文字列です。 テキスト (256 文字までの長さ) 任意の文字を含めることができますが、ベンダーは、コントロールを含む、文字の書式設定に対する警告されます:アプリケーションがこれにする可能性が最も高い使用、(おそらくは切り捨て) を表示するステータス メッセージです。szSystemStatus
Windows ソケット DLL が関連ステータスまたは構成情報をコピーする NULL で終わる ASCII 文字列です。 情報がユーザーやサポート スタッフにとって有用なときだけ、Windows ソケット DLL でこのフィールドを使用してください。szDescription フィールドの拡張として扱うことは適切ではありません。iMaxSockets
1 つのプロセスが開く可能性のあるソケットの最大数。 Windows ソケットの実装では、任意のプロセスに割り当てるためにソケットのグローバル プールが用意されています。また、ソケットにプロセスごとのリソースを割り当てることもできます。 その数は Windows ソケット DLL やネットワーク ソフトウェアの構成を反映します。 アプリケーションのプログラマは、アプリケーションで Windows ソケット実装を使用できるかを端的に示す値としてこの数を使用できます。 たとえば、X Windows サーバーをチェック可能性がありますiMaxSockets最初の起動時。以下の 8 の場合は、アプリケーション、ネットワーク ソフトウェアを再設定するユーザーを指示するエラー メッセージが表示されます。 このような場合は、szSystemStatus テキストを使用できます。ほかの Windows ソケットが同時に起動されている可能性もあるので、特定のアプリケーションが実際に iMaxSockets のソケットを割り当てることができるかどうかは保証されません。iMaxUdpDg
Windows ソケット アプリケーションにより送受できる最も大きいユーザー データグラム プロトコル (UDP: User Datagram Protocol) データグラムのバイト サイズです。 実装に制限を設定しないときは iMaxUdpDg は 0 になります。 Berkeley Sockets の多くの実装には、UDP データグラム上では 8192 バイトの暗黙の制限があります (必要なときはフラグメント化されます)。 たとえば、Windows ソケットの実装はフラグメント再構築バッファーの確保の方法に従って制限を設けます。 Windows ソケットの実装に準拠する iMaxUdpDg の最小値は 512 です。 iMaxUdpDg の値に関係なく、ネットワークの MTU (Maximum Transmission Unit) を超えるブロードキャスト データグラムの送信はお勧めできません。 Windows ソケット API は MTU を検出する機構は提供していませんが、512 バイト以上必要です。lpVendorInfo
発売元固有のデータ構造体への Far ポインターです。 (提供されている場合の) 構造体定義は Windows ソケット仕様のスコープを超えています。
注意
MFC では、WSADATA 構造体が AfxSocketInit 関数によって返されます。AfxSocketInit 関数は、InitInstance 関数で呼び出されます。 この構造体をプログラム中で格納して、必要に応じてその情報を再使用できます。
必要条件
**ヘッダー:**winsock2.h