IOCTL_BTH_SDP_ATTRIBUTE_SEARCH IOCTL (bthioctl.h)

Запрос IOCTL_BTH_SDP_ATTRIBUTE_SEARCH получает атрибуты для указанной записи SDP.

Основной код

IRP_MJ_DEVICE_CONTROL

Входной буфер

Элемент 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

См. также раздел

BTH_SDP_ATTRIBUTE_SEARCH_REQUEST

BTH_SDP_STREAM_RESPONSE

IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH

IOCTL_BTH_SDP_SERVICE_SEARCH