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

들어오는 원격 연결 요청 표시의 경우 프로필 드라이버가 콜백 함수를 등록할 때 _BRB_SCO_REGISTER_SERVER 구조체의 IndicationCallbackContext 멤버에서 프로필 드라이버가 지정한 컨텍스트입니다. 기존 SCO 연결을 변경하는 경우 프로필 드라이버가 BRB_SCO_OPEN_CHANNEL BRB를 빌드하고 전송할 때 지정한 CallbackContext 멤버입니다.

[in] Indication

SCO 이벤트의 형식을 나타내는 SCO_INDICATION_CODE 값입니다.

[in] Parameters

A SCO_INDICATION_PARAMETERS 매개 변수에 전달된 값을 기반으로 매개 변수 정보를 포함하는 구조체 입니다 .

반환 값

없음

설명

Parameters 매개 변수에 전달된 SCO_INDICATION_PARAMETERS 구조체에 있는 BtAddress 멤버는 원격 디바이스의 Bluetooth 주소를 나타냅니다.

PFNSCO_INDICATION_CALLBACK 함수는 두 가지 방법으로 등록할 수 있습니다.

첫 번째 경우 프로필 드라이버는 서버 역할을 하며 _BRB_SCO_REGISTER_SERVER 구조의 IndicationCallback 멤버를 통해 이 콜백 함수를 등록해야 합니다. 그런 다음, Bluetooth 드라이버 스택은 원격 디바이스가 연결을 시도할 때 이 함수를 호출하여 프로필 드라이버에 알릴 수 있습니다.

두 번째 경우 프로필 드라이버는 클라이언트 역할을 하며 BRB_SCO_OPEN_CHANNEL BRB를 사용하여 원격 디바이스에 연결을 시도합니다. PFNSCO_INDICATION_CALLBACK 콜백 함수는 지정된 BRB와 함께 전달된 _BRB_SCO_OPEN_CHANNEL 구조체의 콜백 멤버를 통해 등록됩니다. IOCTL_INTERNAL_BTH_SUBMIT_BRB.

등록된 후 콜백 함수는 BRB가 연 채널과만 연결되며, 함수는 열린 채널을 통해 원격 디바이스에 대해 발생하는 작업을 프로필 드라이버에 알깁니다. 프로필 드라이버는 단일 함수를 등록하여 채널 알림을 클라이언트로 처리하고 알림을 서버로 _BRB_SCO_REGISTER_SERVER 수 있습니다.

Parameters 매개 변수에 있는 SCO_INDICATION_PARAMETERS 구조체는 표시 매개 변수를 통해 콜백 함수에 전달되는 SCO_INDICATION_CODE 값에 따라 해석됩니다. 대부분의 알림에는 이벤트에 해당하고 이벤트별 매개 변수를 포함하는 SCO_INDICATION_PARAMETERS 공용 구조체 멤버가 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 버전:windows Vista 이상에서 _Supported.
대상 플랫폼 데스크톱
머리글 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