共用方式為


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 和更新版本包含數個新的命名空間提供者。 可以安裝其他命名空間提供者,因此下列可能的值只是那些常用的值。 其他許多值都是可能的。

價值 意義
NS_ALL
所有已安裝且作用中的命名空間。
NS_BTH
藍牙命名空間。 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 將只會查詢指定的命名空間提供者。 WSAEnumNameSpaceProvidersWSAEnumNameSpaceProvidersEx 函式,以擷取命名空間提供者的 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

藍牙和 WSAQUERYSET for Service 查詢

適用於設定服務 的 藍牙和 WSAQUERYSET

WSAEnumNameSpaceProviders

WSAEnumNameSpaceProvidersEx

WSALookupServiceBegin

WSALookupServiceNext

WSAQUERYSET2

WSASetService