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 結構的大小,以位元組為單位。 此成員會作為版本控制機制,因為更新版本的 Windows 上已變更 WSAQUERYSET 結構的大小。
lpszServiceInstanceName
類型:LPTSTR
包含服務名稱之選擇性 NULL 終止字串的指標。 未定義在字串中使用通配符的語意,但特定命名空間提供者可支援。
lpServiceClassId
類型:LPGUID
對應至服務類別的 GUID。 必須設定此成員。
lpVersion
類型:LPWSAVERSION
命名空間提供者選擇性所需版本號碼的指標。 這個成員提供版本比較語意(也就是所要求的版本必須完全相符,或版本必須不小於所提供的值)。
lpszComment
類型:LPTSTR
查詢會忽略此成員。
dwNameSpace
類型:DWORD
命名空間標識碼,決定要查詢哪些命名空間提供者。 傳遞特定命名空間標識碼只會產生支援所查詢指定命名空間的命名空間提供者。 指定 NS_ALL 會導致查詢所有已安裝且作用中的命名空間提供者。
dwNameSpace 成員的選項會列在 Winsock2.h include 檔案中。 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 結構是 Windows 95 和更新版本上可用原始命名空間提供者第 1 版架構的一部分。 Windows Vista 和更新版本提供較新版本的命名空間架構。
在大部分情況下,只對特定傳輸通訊協定感興趣的應用程式應該依位址系列和通訊協定來限制其查詢,而不是依命名空間來限制其查詢。 這可讓需要尋找 TCP/IP 服務的應用程式,例如,讓所有可用的命名空間處理其查詢,例如本機主機檔案、DNS 和 NIS。
注意
winsock2.h 標頭會根據 UNICODE 預處理器常數的定義,將 WSAQUERYSET 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
標頭 | winsock2.h |
另請參閱
藍牙和 WSAQUERYSET for Service 查詢
適用於設定服務 的