Структура WSAQUERYSETW (winsock2.h)
Структура WSAQUERYSET предоставляет релевантные сведения о данной службе, включая идентификатор класса службы, имя службы, идентификатор применимого пространства имен и сведения о протоколе, а также набор адресов транспорта, по которым служба прослушивает данные.
Синтаксис
typedef struct _WSAQuerySetW {
DWORD dwSize;
LPWSTR lpszServiceInstanceName;
LPGUID lpServiceClassId;
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;
} WSAQUERYSETW, *PWSAQUERYSETW, *LPWSAQUERYSETW;
Члены
dwSize
Тип: DWORD
Размер структуры WSAQUERYSET (в байтах). Этот элемент используется в качестве механизма управления версиями, так как размер структуры WSAQUERYSET изменился в более поздних версиях Windows.
lpszServiceInstanceName
Тип: LPTSTR
Указатель на необязательную строку со значением NULL, содержащую имя службы. Семантика для использования подстановочных знаков в строке не определена, но может поддерживаться определенными поставщиками пространства имен.
lpServiceClassId
Тип: LPGUID
Идентификатор GUID, соответствующий классу службы. Этот элемент необходимо задать.
lpVersion
Тип: LPWSAVERSION
Указатель на необязательный номер требуемой версии поставщика пространства имен. Этот член предоставляет семантику сравнения версий (то есть запрошенная версия должна соответствовать точно, или версия должна быть не меньше указанного значения).
lpszComment
Тип: LPTSTR
Этот элемент игнорируется для запросов.
dwNameSpace
Тип: DWORD
Идентификатор пространства имен, определяющий, какие поставщики пространства имен запрашиваются. Передача определенного идентификатора пространства имен приведет к тому, что будут использоваться только поставщики пространств имен, поддерживающие запросы к указанному пространству имен. При указании NS_ALL будут запрашиваться все установленные и активные поставщики пространств имен.
Параметры для члена dwNameSpace перечислены в включаемом файле Winsock2.h . Несколько новых поставщиков пространств имен включены в 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
Необязательный указатель на данные, которые используются для запроса или задания сведений о пространстве имен, относящихся к поставщику. Формат этих сведений зависит от поставщика пространства имен.
Комментарии
Структура WSAQUERYSET используется как часть исходной архитектуры поставщика пространств имен версии 1, доступной в Windows 95 и более поздних версиях. Более новая версия 2 архитектуры пространства имен доступна в Windows Vista и более поздних версиях.
В большинстве случаев приложения, заинтересованные только в определенном транспортном протоколе, должны ограничивать свои запросы по семейству адресов и протоколу, а не по пространству имен. Это позволит приложению, которому необходимо найти службу TCP/IP, например, обрабатывать запросы во всех доступных пространствах имен, таких как файл локальных узлов, DNS и NIS.
Примечание
Заголовок winsock2.h определяет WSAQUERYSET как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Верхняя часть | winsock2.h |
См. также раздел
Bluetooth и WSAQUERYSET для запроса устройства
Bluetooth и WSAQUERYSET для запроса службы