裝置查詢 藍牙 和 WSALookupServiceBegin
本主題描述如何使用 WSALookupServiceBegin 函式來執行可見和準刪除裝置的查詢。 如需詳細資訊,請參閱探索 藍牙 裝置和服務。
WSALookupServiceBegin 函式會在其第一個參數 lpqsRestrictions 中使用 WSAQUERYSET 結構來定義搜尋準則。 藍牙 提供使用 的特定指導方針WSALookupServiceBegin 函式和 WSAQUERYSET。
下表列出在查詢裝置時,套用至傳遞至 lpqsRestrictions 參數之 WSAQUERYSET 結構的限制。
WSAQUERYSET 成員 | 限制 |
---|---|
dwSize | 設定為 sizeof(WSAQUERYSET)。 |
lpBlob | 此成員包含 BLOB 結構的選擇性指標。 如果指定此成員,LUP_FLUSHCACHE的有效裝置查詢參數如下所示:
|
dwNameSpace | 設定為 NS_BTH。 |
其他成員 | 會忽略 WSAQUERYSET 結構的其他成員。 |
下表所列的旗標會用於 dwControlFlags 參數來控制查詢結果。 WSALookupServiceBegin 函式會使用LUP_CONTAINERS和LUP_FLUSHCACHE旗標;其餘的旗標則用於呼叫 WSALookupServiceNext 函式。
旗標 | 結果 |
---|---|
LUP_CONTAINERS | 指定查詢的目的是取得 藍牙 裝置清單,而不是服務清單。 必須設定此旗標。 |
LUP_FLUSHCACHE | 觸發本機裝置的查詢,或導致傳回先前查詢的快取結果。 |
LUP_RETURN_TYPE | 直接在 WSAQUERYSET 結構的 lpServiceClassId 成員中傳回 藍牙 COD (裝置位類別)。 COD 會對應至 GUID 的 Data1 成員。 |
LUP_RES_SERVICE | 傳回本機 藍牙 地址的資訊。 只有在同時指定LUP_RETURN_ADDR時,此旗標才會生效。 |
LUP_RETURN_NAME | 針對 WSALookupServiceNext 函式的每個呼叫,傳回 WSAQUERYSET 結構的 lpszServiceInstanceName 成員中的裝置顯示名稱。 指定LUP_RETURN_BLOB旗標時,也必須指定此旗標,以擷取BTH_DEVICE_INFO結構的名稱成員。 |
LUP_RETURN_ADDR | 針對 WSALookupServiceNext 函式的每個呼叫,傳回包含 WSAQUERYSET 結構 lpcsaBuffer 成員中對等 48 位位址的 SOCKADDR_BTH 結構。 SOCKADDR_BTH 結構中的其他成員將會是空的。 |
LUP_RETURN_BLOB | 在每個後續呼叫 WSALookupServiceNext 時,傳回BTH_DEVICE_INFO結構。 |
LUP_FLUSHPREVIOUS | 略過下一個可用的裝置,並傳回後續的裝置。 |
相關主題