функция обратного вызова 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 (если функция обратного вызова должна обращаться к памяти с разбавляемой памятью). |