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 (コールバック関数がページメモリにアクセスする必要がある場合) で動作するようにこの関数をコーディングする必要があります。 |