IOCTL_BTH_SDP_ATTRIBUTE_SEARCH IOCTL (b)
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 的大小或輸出緩衝區的大小,以位元組為單位,以位元組為單位,以較小的方式設定。 否則, Information 成員會設定為零。
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 流量,或使用少量訊息傳輸單位從 SDP 伺服器擷取資訊, (MTU) ,則配置檔驅動程式應該呼叫 IOCTL_BTH_SDP_SERVICE_SEARCH 執行服務搜尋的IOCTL。 然後,配置文件驅動程序應該呼叫 IOCTL_BTH_SDP_ATTRIBUTE_SEARCH IOCTL 來執行屬性搜尋。
輸出緩衝區中傳回的BTH_SDP_STREAM_RESPONSE結構包含整個 SDP 記錄的大小、大小、位元組,以及BTH_SDP_STREAM_RESPONSE結構後面的原始 SDP 記錄數據流大小,以及該數據流的第一個字節的相關信息。 可變長度數據流是搜尋所傳回的 SDP 記錄屬性。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista 和更新版本中的版本:_Supported。 |
標頭 | b (ctl.h) |
IRQL | <= PASSIVE_LEVEL |