次の方法で共有


PFNSCO_INDICATION_CALLBACK コールバック関数 (bthddi.h)

プロファイル ドライバーは、リモート デバイスからの受信 SCO 接続要求と、現在開いている SCO 接続の状態に対する変更についてプロファイル ドライバーに通知するメカニズムを Bluetooth ドライバー スタックに提供する 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_PARAMETERSIndication パラメーターに渡される値に基づくパラメーター情報を格納する構造体です。

戻り値

なし

解説

Parameters パラメーターで渡されるSCO_INDICATION_PARAMETERS構造体にある BtAddress メンバーは、リモート デバイスの Bluetooth アドレスを示します。

PFNSCO_INDICATION_CALLBACK関数は、2 つの方法で登録できます。

最初のケースでは、プロファイル ドライバーはサーバーとして機能し、_BRB_SCO_REGISTER_SERVER構造体の IndicationCallback メンバーを介してこのコールバック関数を登録する必要があります。 その後、Bluetooth ドライバー スタックは、この関数を呼び出して、リモート デバイスがプロファイル ドライバーに接続しようとしたときにプロファイル ドライバーに通知できます。

2 番目のケースでは、プロファイル ドライバーはクライアントとして機能し、 BRB_SCO_OPEN_CHANNEL BRB を使用してリモート デバイスへの接続を試みます。 PFNSCO_INDICATION_CALLBACKコールバック関数は、指定した BRB で渡された_BRB_SCO_OPEN_CHANNEL構造体の Callback メンバーを介して登録されます。その中の 1 つがを介して送信されると、 IOCTL_INTERNAL_BTH_SUBMIT_BRB

登録後、コールバック関数は BRB が開いたチャネルにのみ関連付けられます。この関数は、開いているチャネルで発生したアクションをプロファイル ドライバーにリモート デバイスに通知します。 プロファイル ドライバーは、チャネル通知をクライアントとして処理し、通知をサーバーとして_BRB_SCO_REGISTER_SERVERする 1 つの関数を登録できます。

Parameters パラメーターに保持されているSCO_INDICATION_PARAMETERS構造体は、Indication パラメーターを介してコールバック関数に渡されるSCO_INDICATION_CODE値に従って解釈されます。 ほとんどの通知には、イベントに対応し、イベント固有のパラメーターを含むSCO_INDICATION_PARAMETERS共用体メンバーがあります。

要件

要件
サポートされている最小のクライアント Windows Vista 以降のバージョン:_Supported。
対象プラットフォーム デスクトップ
Header 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