IOCTL_BTH_SDP_ATTRIBUTE_SEARCH IOCTL (bthioctl.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 .
Блок состояния
Если запрос выполнен успешно, элементу Information структуры 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, передаваемого по bluetooth-каналу, или извлечь информацию с сервера SDP с помощью небольшого количества единиц передачи сообщений (MTU), драйвер профиля должен вызвать IOCTL_BTH_SDP_SERVICE_SEARCH IOCTL для выполнения поиска службы. Затем драйвер профиля должен вызвать IOCTL_BTH_SDP_ATTRIBUTE_SEARCH IOCTL для выполнения поиска атрибутов.
Структура BTH_SDP_STREAM_RESPONSE, возвращаемая в выходном буфере, содержит сведения о размере всей записи SDP, размере в байтах потока необработанных записей SDP, следующего за BTH_SDP_STREAM_RESPONSE структурой, и о первом байте этого потока. Поток переменной длины — это атрибуты записей SDP, возвращаемые поиском.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Versions:_Supported в Windows Vista и более поздних версиях. |
Верхняя часть | bthioctl.h (включая Bthioctl.h) |
IRQL | <= PASSIVE_LEVEL |