// bthioctl.h
typedef struct _BTH_SDP_SERVICE_ATTRIBUTE_SEARCH_REQUEST {
HANDLE_SDP_TYPE HANDLE_SDP_FIELD_NAME;
ULONG searchFlags;
SdpQueryUuid uuids[MAX_UUIDS_IN_QUERY];
SdpAttributeRange range[1];
} BTH_SDP_SERVICE_ATTRIBUTE_SEARCH_REQUEST, *PBTH_SDP_SERVICE_ATTRIBUTE_SEARCH_REQUEST;
View the official Windows Driver Kit DDI referenceNo description available.
The BTH_SDP_SERVICE_ATTRIBUTE_SEARCH_REQUEST structure contains information pertinent to a combined SDP service and attribute search. This structure is passed as the input buffer to the IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH IOCTL.
HANDLE_SDP_FIELD_NAMEHandle returned by the connect request or HANDLE_SDP_LOCAL.
searchFlagsA combination of SDP_SEARCH_Xxx flags.
uuidsAn array of UUIDs that represent the services for which to query. Each entry can be a 2-byte, 4-byte, or 16-byte type, and there can be a maximum of 12 entries. The array can be terminated before all 12 entries are used if a UUID entry contains all zeros.
rangeA variable-length array of SdpAttributeRange structures that contains the range of SDP attributes for which to search.
The Bluetooth driver stack determines the number of array items in the range member by examining the length of IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH input buffer. Because of this, the Parameters.DeviceIoControl.InputBufferLength member passed when the IOCTL is called must be calculated exactly.