WSAQUERYSETA 結構 (winsock2.h)

WSAQUERYSET結構提供指定服務的相關資訊,包括服務類別識別碼、服務名稱、適用的命名空間識別碼和通訊協定資訊,以及服務接聽的一組傳輸位址。

語法

typedef struct _WSAQuerySetA {
  DWORD         dwSize;
  LPSTR         lpszServiceInstanceName;
  LPGUID        lpServiceClassId;
  LPWSAVERSION  lpVersion;
  LPSTR         lpszComment;
  DWORD         dwNameSpace;
  LPGUID        lpNSProviderId;
  LPSTR         lpszContext;
  DWORD         dwNumberOfProtocols;
  LPAFPROTOCOLS lpafpProtocols;
  LPSTR         lpszQueryString;
  DWORD         dwNumberOfCsAddrs;
  LPCSADDR_INFO lpcsaBuffer;
  DWORD         dwOutputFlags;
  LPBLOB        lpBlob;
} WSAQUERYSETA, *PWSAQUERYSETA, *LPWSAQUERYSETA;

成員

dwSize

類型: DWORD

WSAQUERYSET結構的大小,以位元組為單位。 此成員會作為版本設定機制,因為 WSAQUERYSET 結構的大小在更新版本的 Windows 上已變更。

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

規格需求

   
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
標頭 winsock2.h

另請參閱

裝置查詢的藍牙和 WSAQUERYSET

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

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

WSAEnumNameSpaceProviders

WSAEnumNameSpaceProvidersEx

WSALookupServiceBegin

WSALookupServiceNext

WSAQUERYSET2

WSASetService