IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH IOCTL (bthioctl.h)
Запрос IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH объединяет службу SDP и поиск атрибутов в одну операцию. Это позволяет вызывающей объекту напрямую получать записи SDP с удаленного устройства.
Основной код
Входной буфер
Элемент AssociatedIrp.SystemBuffer содержит IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH структура, указывающая дескриптор подключения к удаленному серверу SDP, массив GUID и диапазон значений атрибутов для поиска.
Длина входного буфера
Длина объекта IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH структура.
Выходной буфер
Элемент AssociatedIrp.SystemBuffer указывает на буфер, содержащий BTH_SDP_STREAM_RESPONSE структуру, за которой следует необработанный поток записей SDP.
Длина выходного буфера
Длина структуры BTH_SDP_STREAM_RESPONSE .
Блок состояния
Если запрос выполнен успешно, элементу Information структуры STATUS_BLOCK присваивается размер (в байтах) потока ответа SDP или размер выходного буфера в зависимости от того, что меньше. В противном случае элементу 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, он может использовать функции SDP для их анализа. Указатели на эти функции предоставляются интерфейс BTHDDI_SDP_PARSE_INTERFACE .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Versions:_Supported в Windows Vista и более поздних версиях. |
Верхняя часть | bthioctl.h (включая Bthioctl.h) |
IRQL | <= PASSIVE_LEVEL |