共用方式為


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

意義
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 標頭會將 WSAQUERYSET 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
標頭 winsock2.h

另請參閱

適用於裝置查詢的藍牙和 WSAQUERYSET

適用於服務查詢的藍牙和 WSAQUERYSET

適用於 Set Service 的藍牙和 WSAQUERYSET

WSAEnumNameSpaceProviders

WSAEnumNameSpaceProvidersEx

WSALookupServiceBegin

WSALookupServiceNext

WSAQUERYSET2

WSASetService