Структура 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 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
заголовка | winsock2.h |
См. также
Bluetooth и WSAQUERYSET для запроса устройств
Bluetooth и WSAQUERYSET для запроса на обслуживание