Freigeben über


IOCTL_INTERNAL_BTH_SUBMIT_BRB IOCTL (bthioctl.h)

Profiltreiber verwenden IOCTL_INTERNAL_BTH_SUBMIT_BRB, um einen Bluetooth-Anforderungsblock (BRB) an den Bluetooth-Treiberstapel zu übermitteln.

Hauptcode

IRP_MJ_INTERNAL_DEVICE_CONTROL

Eingabepuffer

Das Parameters.Others.Argument1 Member verweist auf die Adresse einer Instanz der Struktur, die dem BRB entspricht, den der Profiltreiber ausgeben möchte. In der folgenden Liste werden die Strukturen beschrieben, die bestimmten BRBs entsprechen.

Bluetooth-Anforderungsblock (BRB) Entsprechende Struktur
BRB_HCI_GET_LOCAL_BD_ADDR

_BRB_GET_LOCAL_BD_ADDR

BRB_L2CA_REGISTER_SERVER

_BRB_L2CA_REGISTER_SERVER

BRB_L2CA_UNREGISTER_SERVER _BRB_L2CA_UNREGISTER_SERVER
BRB_L2CA_OPEN_CHANNEL

_BRB_L2CA_OPEN_CHANNEL

BRB_L2CA_OPEN_CHANNEL_RESPONSE

_BRB_L2CA_OPEN_CHANNEL

BRB_L2CA_CLOSE_CHANNEL

_BRB_L2CA_CLOSE_CHANNEL

BRB_L2CA_ACL_TRANSFER

_BRB_L2CA_ACL_TRANSFER

BRB_L2CA_UPDATE_CHANNEL

_BRB_L2CA_UPDATE_CHANNEL

BRB_L2CA_PING

_BRB_L2CA_PING

BRB_REGISTER_PSM

_BRB_PSM

BRB_UNREGISTER_PSM

_BRB_PSM

BRB_SCO_REGISTER_SERVER

_BRB_SCO_REGISTER_SERVER

BRB_SCO_UNREGISTER_SERVER

_BRB_SCO_UNREGISTER_SERVER

BRB_SCO_OPEN_CHANNEL

_BRB_SCO_OPEN_CHANNEL

BRB_SCO_OPEN_CHANNEL_RESPONSE

_BRB_SCO_OPEN_CHANNEL

BRB_SCO_CLOSE_CHANNEL

_BRB_SCO_CLOSE_CHANNEL

BRB_SCO_TRANSFER

_BRB_SCO_TRANSFER

BRB_SCO_GET_CHANNEL_INFO

_BRB_SCO_GET_CHANNEL_INFO

BRB_SCO_GET_SYSTEM_INFO

_BRB_SCO_GET_SYSTEM_INFO

BRB_SCO_FLUSH_CHANNEL

_BRB_SCO_FLUSH_CHANNEL

BRB_ACL_GET_MODE

_BRB_ACL_GET_MODE

BRB_ACL_ENTER_ACTIVE_MODE

_BRB_ACL_ENTER_ACTIVE_MODE

BRB_GET_DEVICE_INTERFACE_STRING _BRB_GET_DEVICE_INTERFACE_STRING

Eingabepufferlänge

Die Länge der Struktur.

Ausgabepuffer

Wenn der BRB ausgabe zurückgibt, Parameters->Others.Argument1 verweist auf denselben BRB, der als Eingabe übergeben wurde. Die Ausgabe wird in den Membern der zugeordneten BRB-Struktur oder in Puffern zurückgegeben, die in der BRB-Struktur angegeben sind.

Länge des Ausgabepuffers

Die Länge der Struktur

Statusblock

Wenn die Anforderung erfolgreich ist, wird das Information Mitglied der STATUS_BLOCK Struktur auf die Größe des übermittelten Bluetooth-Anforderungsblocks in Bytes festgelegt. Andernfalls wird der Information Member auf Null festgelegt.

Der Status Member wird auf einen der Werte in der folgenden Tabelle festgelegt.

Statuswert Beschreibung
STATUS_SUCCESS Die IOCTL wurde erfolgreich abgeschlossen.
STATUS_INVALID_DEVICE_REQUEST Die anforderung, die über die BRB-Struktur an das Remotegerät gesendet wurde, war ungültig.
STATUS_INVALID_PARAMETER Mindestens einer der Eingabeparameter war ungültig.
STATUS_INVALID_BUFFER_SIZE oder
STATUS_BUFFER_TOO_SMALL
Die Länge des bereitgestellten Puffers war zu klein.
STATUS_NOT_IMPLEMENTED Der Stapel hat das erforderliche Modul zum Verarbeiten des BRB nicht implementiert.
STATUS_NOT_SUPPORTED Dieser BRB wird vom Stapel nicht unterstützt.
STATUS_PENDING Der BRB steht aus.

Bemerkungen

Profiltreiber verwenden BRBs, um die meisten Eingabe-, Ausgabe- und Verbindungsaufgaben zu verarbeiten. Für diese Aufgaben werden eine Reihe von BRBs definiert, und jeder verwendet eine bestimmte, entsprechende Struktur. Alle BRBs teilen einen gemeinsamen Header, der den Typ des BRB enthält. Der Bluetooth-Treiberstapel verwendet den BRB-Header, um den Rest des BRB korrekt zu interpretieren. Weitere Informationen zu BRB-Headern finden Sie in der BRB_HEADER Struktur.

Weitere Informationen dazu, wie Profiltreiber BRBs für die Kommunikation mit dem Bluetooth-Treiberstapel verwenden, finden Sie unter Building and Sending a BRB.

Diese BRBs müssen bei IRQL-<= PASSIVE_LEVEL aufgerufen werden.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Versionen:_Supported in Windows Vista und höher.
Header- bthioctl.h (include BthIoctl.h)
IRQL- <= PASSIVE_LEVEL

Siehe auch

BRB_HEADER

BRB_TYPE

Erstellen und Senden eines BRB-