Поделиться через


структура WSAQUERYSET2W (winsock2.h)

Структура WSAQUERYSET2 предоставляет релевантные сведения о данной службе, включая идентификатор класса службы, имя службы, применимый идентификатор пространства имен и сведения о протоколе, а также набор транспортных адресов, по которым служба прослушивает.

Синтаксис

typedef struct _WSAQuerySet2W {
  DWORD         dwSize;
  LPWSTR        lpszServiceInstanceName;
  LPWSAVERSION  lpVersion;
  LPWSTR        lpszComment;
  DWORD         dwNameSpace;
  LPGUID        lpNSProviderId;
  LPWSTR        lpszContext;
  DWORD         dwNumberOfProtocols;
  LPAFPROTOCOLS lpafpProtocols;
  LPWSTR        lpszQueryString;
  DWORD         dwNumberOfCsAddrs;
  LPCSADDR_INFO lpcsaBuffer;
  DWORD         dwOutputFlags;
  LPBLOB        lpBlob;
} WSAQUERYSET2W, *PWSAQUERYSET2W, *LPWSAQUERYSET2W;

Члены

dwSize

Тип: DWORD

Размер структуры WSAQUERYSET2 в байтах. Этот элемент используется в качестве механизма управления версиями, так как размер структуры WSAQUERYSET2 может измениться в более поздних версиях Windows.

lpszServiceInstanceName

Тип: LPTSTR

Указатель на необязательную строку со значением NULL, содержащую имя службы. Семантика для использования подстановочных знаков в строке не определена, но может поддерживаться определенными поставщиками пространства имен.

lpVersion

Тип: LPWSAVERSION

Указатель на необязательный номер требуемой версии поставщика пространства имен. Этот член предоставляет семантику сравнения версий (то есть запрошенная версия должна соответствовать точно, или версия должна быть не меньше указанного значения).

lpszComment

Тип: LPTSTR

Этот элемент игнорируется для запросов.

dwNameSpace

Тип: DWORD

Идентификатор пространства имен, определяющий, какие поставщики пространства имен запрашиваются. Передача определенного идентификатора пространства имен приведет к тому, что будут использоваться только поставщики пространств имен, поддерживающие запросы к указанному пространству имен. При указании NS_ALL будут запрашиваться все установленные и активные поставщики пространств имен.

Параметры для члена dwNameSpace перечислены в включаемом файле Winsock2.h . Несколько новых поставщиков пространств имен включены в Windows Vista и более поздних версий. Можно установить и другие поставщики пространств имен, поэтому следующие возможные значения являются доступными только те, которые являются общедоступными. Возможны и многие другие значения.

Значение Значение
NS_ALL
Все установленные и активные пространства имен.
NS_BTH
Пространство имен Bluetooth. Этот идентификатор пространства имен поддерживается в Windows Vista и более поздних версиях.
NS_DNS
Пространство имен системы доменных имен (DNS).
NS_EMAIL
Пространство имен электронной почты. Этот идентификатор пространства имен поддерживается в Windows Vista и более поздних версиях.
NS_NLA
Пространство имен обнаружения сетевых расположений (NLA). Этот идентификатор пространства имен поддерживается в Windows XP и более поздних версиях.
NS_PNRPNAME
Пространство имен однорангового узла для определенного имени однорангового узла. Этот идентификатор пространства имен поддерживается в Windows Vista и более поздних версиях.
NS_PNRPCLOUD
Одноранговое пространство имен для коллекции одноранговых имен. Этот идентификатор пространства имен поддерживается в Windows Vista и более поздних версиях.

lpNSProviderId

Тип: LPGUID

Указатель на необязательный ИДЕНТИФИКАТОР GUID определенного поставщика пространства имен для запроса в случае, когда несколько поставщиков пространств имен зарегистрированы в одном пространстве имен, например NS_DNS. Передача GUID для конкретного поставщика пространства имен приведет к запросу только указанного поставщика пространства имен. Функции WSAEnumNameSpaceProviders и WSAEnumNameSpaceProvidersEx можно вызвать для получения GUID для поставщика пространства имен.

lpszContext

Тип: LPTSTR

Указатель на необязательную начальную точку запроса в иерархическом пространстве имен.

dwNumberOfProtocols

Тип: DWORD

Размер массива ограничений протокола (в байтах). Этот элемент может быть равен нулю.

lpafpProtocols

Тип: LPAFPROTOCOLS

Указатель на необязательный массив структур AFPROTOCOLS . Будут возвращены только службы, использующие эти протоколы.

lpszQueryString

Тип: LPTSTR

Указатель на необязательную строку запроса со значением NULL. Некоторые пространства имен, например Whois++, поддерживают расширенные SQL-запросы, содержащиеся в простой текстовой строке. Этот параметр используется для указания этой строки.

dwNumberOfCsAddrs

Тип: DWORD

Этот элемент игнорируется для запросов.

lpcsaBuffer

Тип: LPCSADDR_INFO

Этот элемент игнорируется для запросов.

dwOutputFlags

Тип: DWORD

Этот элемент игнорируется для запросов.

lpBlob

Тип: LPBLOB

Необязательный указатель на данные, которые используются для запроса или задания сведений о пространстве имен, относящихся к поставщику. Формат этих сведений зависит от поставщика пространства имен.

Комментарии

Структура WSAQUERYSET2 используется как часть архитектуры поставщика услуг пространства имен версии 2 (NSPv2), доступной в Windows Vista и более поздних версиях.

В Windows Vista и Windows Server 2008 структура WSAQUERYSET2 может использоваться только для операций с поставщиками NS_EMAIL пространств имен.

Примечание

Заголовок winsock2.h определяет WSAQUERYSET2 в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Верхняя часть winsock2.h

См. также раздел

WSAEnumNameSpaceProviders

WSAEnumNameSpaceProvidersEx

WSASetService