Поделиться через


функция обратного вызова PFNSCO_INDICATION_CALLBACK (bthddi.h)

Драйверы профилей реализуют функцию обратного вызова SCO, чтобы предоставить стеку драйверов Bluetooth механизм уведомления драйвера профиля о входящих запросах на подключение SCO от удаленных устройств и о любых изменениях состояния открытого в настоящее время подключения SCO.

Синтаксис

PFNSCO_INDICATION_CALLBACK PfnscoIndicationCallback;

void PfnscoIndicationCallback(
  [in] PVOID Context,
  [in] SCO_INDICATION_CODE Indication,
  [in] PSCO_INDICATION_PARAMETERS Parameters
)
{...}

Параметры

[in] Context

Для указания входящих запросов удаленного подключения это контекст, заданный драйвером профиля в элементе IndicationCallbackContextструктуры _BRB_SCO_REGISTER_SERVER , когда драйвер профиля зарегистрировал функцию обратного вызова. Для изменений существующих подключений SCO это член CallbackContext , указанный драйвером профиля при сборке и отправке BRB_SCO_OPEN_CHANNEL BRB.

[in] Indication

Значение SCO_INDICATION_CODE , указывающее тип события SCO.

[in] Parameters

A SCO_INDICATION_PARAMETERS структура, содержащая сведения о параметрах на основе значения, переданного параметру Индикация .

Возвращаемое значение

None

Remarks

Элемент BtAddress, найденный в структуре SCO_INDICATION_PARAMETERS, переданной в параметре Parameters , указывает bluetooth-адрес удаленного устройства.

Функцию PFNSCO_INDICATION_CALLBACK можно зарегистрировать двумя способами.

В первом случае драйвер профиля выступает в качестве сервера и должен зарегистрировать эту функцию обратного вызова через элемент IndicationCallbackструктуры _BRB_SCO_REGISTER_SERVER . Затем стек драйверов Bluetooth может вызвать эту функцию, чтобы уведомить драйвер профиля, когда удаленное устройство пытается связаться с ним.

Во втором случае драйвер профиля выступает в качестве клиента и пытается подключиться к удаленному устройству с помощью BRB_SCO_OPEN_CHANNEL BRB. Функция обратного вызова PFNSCO_INDICATION_CALLBACK регистрируется через член обратного вызова структуры _BRB_SCO_OPEN_CHANNEL , передаваемой с указанным BRB, при отправке одного из них через IOCTL_INTERNAL_BTH_SUBMIT_BRB.

После регистрации функция обратного вызова связана только с каналом, который открыл BRB, и функция уведомляет драйвер профиля о действиях, выполняемых через открытый канал, на удаленное устройство. Драйверы профилей могут зарегистрировать одну функцию для обработки уведомлений канала в качестве клиента и _BRB_SCO_REGISTER_SERVER уведомлений в качестве сервера.

Структура SCO_INDICATION_PARAMETERS, хранящееся в параметре Parameters , интерпретируется в соответствии с SCO_INDICATION_CODE значением, которое передается функции обратного вызова через параметр Индикация . Для большинства уведомлений существует SCO_INDICATION_PARAMETERS член объединения, соответствующий событию и содержащий параметры, относящиеся к событию.

Требования

Требование Значение
Минимальная версия клиента Versions:_Supported в Windows Vista и более поздних версиях.
Целевая платформа Персональный компьютер
Верхняя часть bthddi.h (включая Bthddi.h)
IRQL Разработчики должны закодировать эту функцию для работы в IRQL = DISPATCH_LEVEL (если функция обратного вызова не обращается к памяти с постраничной памятью) или IRQL = PASSIVE_LEVEL (если функция обратного вызова должна обращаться к памяти с разбавляемой памятью).

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

BRB_SCO_OPEN_CHANNEL

IOCTL_INTERNAL_BTH_SUBMIT_BRB

SCO_INDICATION_CODE

SCO_INDICATION_PARAMETERS

_BRB_SCO_REGISTER_SERVER