PFNSCO_INDICATION_CALLBACK Rückruffunktion (bthddi.h)

Profiltreiber implementieren eine SCO-Rückruffunktion, um dem Bluetooth-Treiberstapel einen Mechanismus bereitzustellen, um den Profiltreiber über eingehende SCO-Verbindungsanforderungen von Remotegeräten und alle Änderungen am status einer derzeit 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 Remoteverbindungsanforderungen ist dies der Kontext, der vom Profiltreiber im IndicationCallbackContext-Member der _BRB_SCO_REGISTER_SERVER-Struktur angegeben wurde, als der Profiltreiber die Rückruffunktion registriert hat. Bei Änderungen an vorhandenen SCO-Verbindungen ist dies das CallbackContext-Element , 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 Wert enthält, der an den Indication-Parameter übergeben wird.

Rückgabewert

Keine

Bemerkungen

Das BtAddress-Element , das sich in der SCO_INDICATION_PARAMETERS-Struktur befindet, 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 den IndicationCallback-Member der _BRB_SCO_REGISTER_SERVER-Struktur registrieren. Der Bluetooth-Treiberstapel kann dann diese Funktion 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 den Rückrufmember der _BRB_SCO_OPEN_CHANNEL-Struktur registriert, die mit dem angegebenen BRB übergeben wird, wenn einer von ihnen über übermittelt wird. IOCTL_INTERNAL_BTH_SUBMIT_BRB.

Nach der Registrierung wird die Rückruffunktion nur dem Kanal zugeordnet, den der BRB geöffnet hat, und die Funktion benachrichtigt den Profiltreiber über Aktionen, die über den geöffneten Kanal an das Remotegerät erfolgen. 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 im Parameter Parameters gespeichert ist, wird entsprechend dem SCO_INDICATION_CODE-Wert interpretiert, der über den Parameter Indication an die Rückruffunktion übergeben wird. Für die meisten Benachrichtigungen gibt es einen SCO_INDICATION_PARAMETERS Union-Member, der dem Ereignis entspricht und ereignisspezifische Parameter enthält.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Versionen:_Supported in Windows Vista und höher.
Zielplattform Desktop
Kopfzeile bthddi.h (include Bthddi.h)
IRQL Entwickler sollten diese Funktion so programmieren, dass sie entweder mit IRQL = DISPATCH_LEVEL (wenn die Rückruffunktion nicht auf ausgelagerten Arbeitsspeicher zugreift) oder IRQL = PASSIVE_LEVEL (wenn die Rückruffunktion auf ausgelagerten Arbeitsspeicher zugreifen muss)

Weitere Informationen

BRB_SCO_OPEN_CHANNEL

IOCTL_INTERNAL_BTH_SUBMIT_BRB

SCO_INDICATION_CODE

SCO_INDICATION_PARAMETERS

_BRB_SCO_REGISTER_SERVER