WSADATA структура

WSADATA структура имеет следующую форму:

структура WSAData {}
 nbsp;  СЛОВО wVersion;
    СЛОВО wHighVersion;
    Чар szDescription [WSADESCRIPTIO&N_LEN + 1];
    Чар szSystemStatus [WSASYSSTATUS_LEN + 1];
    беззнаковое короткое iMaxSockets;
    беззнаковое короткое iMaxUdpDg;
    Чар FAR * lpVendorInfo;
}

Структура WSADATA используется для хранения сведений инициализации Windows Sockets, возвращенные вызовом глобальной функции AfxSocketInit.

Члены

wVersion

Версия спецификации Windows Sockets, что Windows Sockets DLL ожидает, что вызывающий объект мог использовать.

wHighVersion

Наивысший версия Windows Sockets спецификации, которая может поддерживать этот DLL (также закодированы как указано выше). Обычно это то же самое, как wVersion.

szDescription

Завершающим нулем ASCII строка в который Windows Sockets DLL копирует описание реализации Windows Sockets, включая идентификацию вендоров. Текст (до 256 символов в длину) может содержать любые символы, но поставщики предостерег от включая управления и форматирование символов: скорее всего, которые приложение положили это применяется для отображения его (возможно усечение) в сообщение о состоянии.

szSystemStatus

Завершающим нулем ASCII строка в который Windows Sockets DLL копирует соответствующую информацию конфигурации или статус. Windows Sockets DLL должен использовать это поле, только если информация может быть полезной для пользователя или вспомогательного персонала; его не следует рассматривать как расширение поля szDescription.

iMaxSockets

Максимальное число сокетов, которые потенциально может открыть один процесс. Реализация Windows Sockets может обеспечить глобальный пул сокетов для выделения к любому процессу; в качестве альтернативы он может выделить ресурсы каждого процесса для сокетов. Число может отражать способа, в котором был настройки Windows Sockets DLL или сетевое программное обеспечение. Писатели приложений можно использовать этот номер как общий коэффициент свидетельство того, является ли осуществление Windows Sockets может использовать приложение. Например, X Windows server может проверить iMaxSockets когда впервые начал: если это меньше, чем 8, приложение будет отображать сообщение об ошибке, инструктирующей пользователя для перенастройки сетевое программное обеспечение. (Это положение, в котором может использоваться текст szSystemStatus ). Очевидно, что нет никаких гарантий, что определенное приложение фактически может выделить iMaxSockets сокеты, поскольку могут существовать другие приложения Windows Sockets в эксплуатации.

iMaxUdpDg

Размер в байтах крупнейших датаграмм протокола UDP (User Datagram), которые могут быть отправлены или получены приложением Windows Sockets. Если не ограничивает осуществление, iMaxUdpDg равно нулю. Во многих реализациях Сокеты Беркли существует неявная предел 8192 байт на UDP-датаграмм (которые являются разрозненными, в случае необходимости). Реализация Windows Sockets может установить предел, к примеру, на основе выделения фрагмента сборку буферов. Минимальное значение iMaxUdpDg для совместимой реализации Windows Sockets — 512. Обратите внимание, что независимо от значения iMaxUdpDg, нецелесообразно пытаться отправить вещания датаграмм, которая больше, чем максимальная передач группы (МТУ) для сети. (Windows Sockets API не предоставляет механизм для обнаружения MTU, но она должна быть не менее 512 байт).

lpVendorInfo

Далеко указатель на структуру данных поставщика. Определение этой структуры (если указано) выходит за рамки спецификации Windows Sockets. Для получения дополнительной информации, смотрите Соображения программирования Windows Sockets в документации Win32 SDK.

Примечание   В MFC, WSADATA структура возвращается функцией AfxSocketInit , который вы называете в вашем InitInstance функции. Можно извлечь структуры и хранить его в вашей программе, если вам нужно использовать информацию из него.

См. также AfxSocketInit

Index