Freigeben über


PFNSCO_INDICATION_CALLBACK Rückruffunktion (bthddi.h)

Profiltreiber implementieren eine SCO-Rückruffunktion, um den Bluetooth-Treiberstapel mit einem Mechanismus bereitzustellen, um den Profiltreiber über eingehende SCO-Verbindungsanforderungen von Remotegeräten und alle Änderungen am Status einer aktuell geöffneten SCO-Verbindung zu benachrichtigen.

Syntax

PFNSCO_INDICATION_CALLBACK PfnscoIndicationCallback;

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

Parameter

[in] Context

Für eingehende Remoteverbindungsanforderungsanzeigen ist dies der Kontext, der vom Profiltreiber im IndicationCallbackContext Mitglied der _BRB_SCO_REGISTER_SERVER Struktur angegeben wird, wenn der Profiltreiber die Rückruffunktion registriert hat. Bei Änderungen an vorhandenen SCO-Verbindungen ist dies das CallbackContext- Member, das vom Profiltreiber beim Erstellen und Senden eines BRB_SCO_OPEN_CHANNEL BRB angegeben wurde.

[in] Indication

Ein SCO_INDICATION_CODE Wert, der den Typ des SCO-Ereignisses angibt.

[in] Parameters

Ein SCO_INDICATION_PARAMETERS Struktur, die Parameterinformationen basierend auf dem an den Parameter Indication Parameter übergebenen Wert enthält.

Rückgabewert

Nichts

Bemerkungen

Das BtAddress Member, das in der SCO_INDICATION_PARAMETERS Struktur gefunden wurde, die im parameter Parameters übergeben wird, gibt die Bluetooth-Adresse des Remotegeräts an.

Die PFNSCO_INDICATION_CALLBACK-Funktion kann auf zwei Arten registriert werden.

Im ersten Fall fungiert der Profiltreiber als Server und muss diese Rückruffunktion über das IndicationCallback Mitglied der _BRB_SCO_REGISTER_SERVER Struktur registrieren. Der Bluetooth-Treiberstapel kann diese Funktion dann aufrufen, um den Profiltreiber zu benachrichtigen, wenn ein Remotegerät versucht, ihn zu kontaktieren.

Im zweiten Fall fungiert der Profiltreiber als Client und versucht, mithilfe des BRB_SCO_OPEN_CHANNEL BRB eine Verbindung mit einem Remotegerät herzustellen. Die PFNSCO_INDICATION_CALLBACK Rückruffunktion wird über das Callback Member der _BRB_SCO_OPEN_CHANNEL Struktur registriert, die mit dem angegebenen BRB übergeben wird, wenn eine dieser Elemente über IOCTL_INTERNAL_BTH_SUBMIT_BRB.

Nachdem sie registriert wurde, ist die Rückruffunktion nur dem Kanal zugeordnet, den der BRB geöffnet hat, und die Funktion benachrichtigt den Profiltreiber von Aktionen, die über den geöffneten Kanal auf das Remotegerät auftreten. Profiltreiber können eine einzelne Funktion registrieren, um Kanalbenachrichtigungen als Client und _BRB_SCO_REGISTER_SERVER Benachrichtigungen als Server zu verarbeiten.

Die SCO_INDICATION_PARAMETERS Struktur, die in der Parameters Parameter enthalten ist, wird gemäß dem SCO_INDICATION_CODE Wert interpretiert, der über den Parameter Indication an die Rückruffunktion übergeben wird. Für die meisten Benachrichtigungen gibt es ein SCO_INDICATION_PARAMETERS Union-Mitglied, das dem Ereignis entspricht und ereignisspezifische Parameter enthält.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Versionen:_Supported in Windows Vista und höher.
Zielplattform- Desktop
Header- bthddi.h (include Bthddi.h)
IRQL- Entwickler sollten diese Funktion codieren, um entweder IRQL = DISPATCH_LEVEL (wenn die Rückruffunktion nicht auf den ausgelagerten Speicher zugreift) oder IRQL = PASSIVE_LEVEL (wenn die Rückruffunktion auf den ausgelagerten Speicher zugreifen muss)

Siehe auch

BRB_SCO_OPEN_CHANNEL

IOCTL_INTERNAL_BTH_SUBMIT_BRB

SCO_INDICATION_CODE

SCO_INDICATION_PARAMETERS

_BRB_SCO_REGISTER_SERVER