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