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-Element verweist auf die Adresse einer instance 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 die Ausgabe zurückgibt, verweist Parameters-Others.Argument1> auf dieselbe BRB, die 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 Informationselement der STATUS_BLOCK-Struktur auf die Größe des übermittelten Bluetooth-Anforderungsblocks in Bytes festgelegt. Andernfalls wird das Element Information auf 0 festgelegt.

Das Statuselement ist auf einen der Werte in der folgenden Tabelle festgelegt.

Statuswert BESCHREIBUNG
STATUS_SUCCESS Das 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 ein 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 nicht das erforderliche Modul implementiert, um den BRB zu verarbeiten.
STATUS_NOT_SUPPORTED Dieser BRB wird vom Stapel nicht unterstützt.
STATUS_PENDING Der BRB steht aus.

Hinweise

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

Weitere Informationen dazu, wie Profiltreiber BRBs verwenden, um mit dem Bluetooth-Treiberstapel zu kommunizieren, finden Sie unter Erstellen und Senden eines BRB.

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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Versionen:_Supported in Windows Vista und höher.
Kopfzeile bthioctl.h (include BthIoctl.h)
IRQL <= PASSIVE_LEVEL

Weitere Informationen

BRB_HEADER

BRB_TYPE

Erstellen und Senden eines BRB