IOCTL_BTH_SDP_ATTRIBUTE_SEARCH IOCTL (btlctl.h)
IOCTL_BTH_SDP_ATTRIBUTE_SEARCH要求會取得指定 SDP 記錄的屬性。
主要程序代碼
輸入緩衝區
AssociatedIrp.SystemBuffer 成員包含 BTH_SDP_ATTRIBUTE_SEARCH_REQUEST 結構,指定要搜尋的屬性遠端計算機範圍,以及其他索引鍵成員。
輸入緩衝區長度
的長度 BTH_SDP_ATTRIBUTE_SEARCH_REQUEST 結構。
輸出緩衝區
AssociatedIrp.SystemBuffer 成員指向包含 BTH_SDP_STREAM_RESPONSE 結構的緩衝區,後面接著可變長度的原始 SDP 數據流。
輸出緩衝區長度
BTH_SDP_STREAM_RESPONSE 結構的長度。
狀態區塊
如果要求成功,STATUS_BLOCK 結構 資訊 成員會設定為 BTH_SDP_STREAM_RESPONSE 的大小或輸出緩衝區的大小,無論大小較小。 否則,資訊 成員會設定為零。
Status 成員會設定為下表中的其中一個值。
狀態值 | 描述 |
---|---|
STATUS_SUCCESS | IOCTL 已順利完成。 |
STATUS_DEVICE_NOT_CONNECTED | SDP 服務所在的裝置未連線。 |
STATUS_INSUFFICIENT_RESOURCES | 記憶體不足,無法完成這項作業。 |
STATUS_INVALID_BUFFER_SIZE | 輸出緩衝區的大小不正確。 |
STATUS_INVALID_PARAMETER | 輸入緩衝區中的其中一個值無效。 |
STATUS_REQUEST_NOT_ACCEPTED | SDP 服務拒絕要求。 |
STATUS_TOO_MANY_GUIDS_REQUESTED | SDP 服務無法處理傳入輸入緩衝區中的 GUID 數目。 |
言論
在大部分情況下,配置文件驅動程式可以藉由呼叫 來合併 SDP 服務和屬性搜尋 IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH IOCTL。 如果配置檔驅動程式必須減少透過藍牙連結傳輸的SDP流量,或使用少量訊息傳輸單位 (MTU) 從 SDP 伺服器擷取資訊,配置檔驅動程式應該呼叫 IOCTL_BTH_SDP_SERVICE_SEARCH IOCTL 來執行服務搜尋。 然後,配置文件驅動程序應該呼叫 IOCTL_BTH_SDP_ATTRIBUTE_SEARCH IOCTL 來執行屬性搜尋。
輸出緩衝區中傳回的BTH_SDP_STREAM_RESPONSE結構包含整個 SDP 記錄大小的相關信息、原始 SDP 記錄數據流的大小,以位元組為單位,接著BTH_SDP_STREAM_RESPONSE結構,以及該數據流的第一個字節。 可變長度數據流是搜尋所傳回的 SDP 記錄屬性。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Vista 和更新版本中的版本:_Supported。 |
標頭 | btlctl.h (include Btlctl.h) |
IRQL | <= PASSIVE_LEVEL |