Ws2 32 dll что это
Перейти к содержимому

Ws2 32 dll что это

  • автор:

Инициализация

Ws2_32.dll загружает библиотеку DLL интерфейса поставщика услуг в систему с помощью стандартных механизмов загрузки динамической библиотеки Microsoft Windows и инициализирует ее путем вызова WSPStartup. Обычно это активируется приложением, вызывающим сокет или WSASocket для создания нового сокета, связанного с поставщиком услуг, библиотека DLL интерфейса которого в настоящее время не загружается в память. Путь к библиотеке DLL интерфейса каждого поставщика услуг хранится вWs2_32.dll на момент установки поставщика услуг. Дополнительные сведения см. в разделе Функции установки и конфигурации .

Со временем для библиотек DLL Winsock, приложений и поставщиков служб могут существовать разные версии. Новые версии могут определять новые функции и новые параметры для структур данных, битовых параметров и т. д. Таким образом, номера версий указывают, как интерпретировать различные структуры данных.

Чтобы обеспечить оптимальное сочетание и сопоставление различных версий приложений, версий Ws2_32.dll себя и версий поставщиков услуг различными поставщиками, SPI предоставляет механизм согласования версий для использования междуWs2_32.dll и поставщиками услуг. Это согласование версий обрабатывается WSPStartup. По сути, Ws2_32.dll передает поставщику услуг самые высокие номера версий, с которыми он совместим. Поставщик услуг сравнивает его с собственным поддерживаемым диапазоном номеров версий. Если эти диапазоны перекрываются, поставщик услуг возвращает значение в перекрывающейся части диапазона в результате согласования. Обычно это должно быть максимально возможное значение. Если диапазоны не перекрываются, две стороны несовместимы и функция возвращает ошибку.

WSPStartup должен вызываться по крайней мере один раз каждым клиентским процессом и может вызываться несколько раз Ws2_32.dll или другими сущностями. Для каждого успешного вызова WSPStartup должен вызываться соответствующий WSPCleanup. Поставщик услуг должен поддерживать количество ссылок для каждого процесса. При каждом вызове WSPStartup вызывающий объект может указать любой номер версии, поддерживаемый библиотекой DLL sp.

Поставщик услуг должен хранить указатель на таблицу диспетчеризации клиента, полученную в виде параметра WSPStartup для каждого процесса. Если данный процесс вызывает WSPStartup несколько раз, поставщик услуг должен использовать только последний предоставленный указатель таблицы диспетчеризации.

В рамках процесса инициализации поставщика услуг Ws2_32.dll извлекает таблицу диспетчеризации поставщика услуг с помощью параметра lpProcTable , чтобы получить точки входа для остальных функций SPI, указанных в этом документе.

Использование таблицы диспетчеризации (в отличие от обычных механизмов DLL для доступа к точкам входа) служит двум целям:

  • Это удобнее для Ws2_32.dll, так как для обнаружения всего набора точек входа можно выполнить один вызов.
  • Это позволяет многоуровневые поставщики служб, сформированные в цепочки протоколов, работать более эффективно.

Инициализация цепочек протоколов

При установке структуры WSAPROTOCOL_INFO для цепочки протоколов также указывается путь к первому многоуровневый поставщик в цепочке. При инициализации цепочки протоколов Ws2_32.dll использует этот путь для загрузки библиотеки DLL поставщика, а затем вызывает WSPStartup. Так как WSPStartup включает указатель на структуру WSAPROTOCOL_INFO цепочки в качестве одного из параметров, многоуровневые поставщики могут определить тип цепочки, в которую они инициализируются, и идентификатор следующего нижнего слоя в цепочке. Многоуровневый поставщик, в свою очередь, загружает следующий поставщик протокола в цепочке и инициализирует его с помощью вызова WSPStartup и т. д. Всякий раз, когда следующий нижний слой является другим многоуровневый поставщик, в вызове WSPStartup необходимо ссылаться на структуру WSAPROTOCOL_INFO цепочки. Если следующий нижний слой является базовым протоколом (обозначающим конец цепочки), структура WSAPROTOCOL_INFO цепочки больше не распространяется вниз. Вместо этого текущий уровень должен ссылаться на структуру WSAPROTOCOL_INFO , соответствующую протоколу, который должен использовать базовый поставщик. Таким образом, базовый поставщик не имеет понятия об участии в цепочке протоколов.

Таблица диспетчеризации, предоставляемая любым заданным многоуровневым поставщиком, во многих случаях дублирует точки входа базового поставщика. Многоуровневый поставщик будет вставлять только собственные точки входа для функций, в которых он должен быть непосредственно вовлечен. Обратите внимание, что важно, чтобы многоуровневый поставщик не изменял содержимое таблицы ,полученной при вызове WSPStartup на следующем нижнем уровне в цепочке протоколов. Эти значения необходимо сделать непосредственно в библиотеке DLL Windows Sockets 2.

Что делают библиотеки -lws2_32 и -lpthread

для чего эти библиотеки ? И проект был написан на винде 7 (32) а у меня вида 10 (64 бит). Есть ли эти библиотеки в виндовс 10 ? Qt b вижуал студио одна и та же.

Отслеживать
9,689 4 4 золотых знака 23 23 серебряных знака 36 36 бронзовых знаков
задан 18 июл 2016 в 12:08
2,907 7 7 золотых знаков 44 44 серебряных знака 92 92 бронзовых знака
win32 в кутешном .pro файле, это вообще всё семейство Windows, а не только 32 бит, имнип.
18 июл 2016 в 12:27

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

ws2_32 — это для ws2_32.dll, библиотека для работы с сокетами в винде. В комплекте со Студией есть. pthread — POSIX threads, в поставке винды, насколько я знаю, ее нет.

Отслеживать
ответ дан 18 июл 2016 в 12:17
Владимир Мартьянов Владимир Мартьянов
9,689 4 4 золотых знака 23 23 серебряных знака 36 36 бронзовых знаков

Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.4.26.8280

Скачать ws2_32.dll для Windows

Ошибки ws2_32.dll возникают по нескольким причинам, например, файл может быть поврежден, удален или не найден на компьютере. Распространенные ошибки библиотек:

  • Ошибка при запуске ws2_32.dll: не найден указанный модуль.
  • Файл не предназначен или несовместим с версией Windows.
  • Отсутствует ws2_32.dll, попробуйте переустановить программу.
  • Модуль или библиотека не обнаружены на компьютере.
  • ws2_32.dll вернул код ошибки.

Чтобы исправить ошибки ws2_32.dll, скачайте файл и переустановите его в системной папке Windows. В некоторых случаях файл должен находиться в папке с игрой или программой. Подробная инструкция по установке ws2_32.dll и других библиотек находится в разделе «Помощь».

Ws2_32.dll Загрузить

Нажмите «Загрузить Сейчас», чтобы получить утилиту для ПК, которая идет с ws2_32.dll. Утилита автоматически определит отсутствующие dll и предложит установить их автоматически. Будучи простой в использовании утилитой, она является отличной альтернативой ручной установке, что было признано многими компьютерными экспертами и компьютерными журналами. Ограничения: пробная версия предлагает неограниченное количество сканирований, резервное копирование, бесплатное восстановление реестра Windows. Полную версию необходимо приобрести. Она поддерживает такие операционные системы, как Windows 10, Windows 8 / 8.1, Windows 7 и Windows Vista (64/32 bit).
Размер файла: 3,04 Мб, Время загрузки:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *