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_L2CA_REGISTER_SERVER | |
BRB_L2CA_UNREGISTER_SERVER | _BRB_L2CA_UNREGISTER_SERVER |
BRB_L2CA_OPEN_CHANNEL | |
BRB_L2CA_OPEN_CHANNEL_RESPONSE | |
BRB_L2CA_CLOSE_CHANNEL | |
BRB_L2CA_ACL_TRANSFER | |
BRB_L2CA_UPDATE_CHANNEL | |
BRB_L2CA_PING | |
BRB_REGISTER_PSM | |
BRB_UNREGISTER_PSM | |
BRB_SCO_REGISTER_SERVER | |
BRB_SCO_UNREGISTER_SERVER | |
BRB_SCO_OPEN_CHANNEL | |
BRB_SCO_OPEN_CHANNEL_RESPONSE | |
BRB_SCO_CLOSE_CHANNEL | |
BRB_SCO_TRANSFER | |
BRB_SCO_GET_CHANNEL_INFO | |
BRB_SCO_GET_SYSTEM_INFO | |
BRB_SCO_FLUSH_CHANNEL | |
BRB_ACL_GET_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. |
|
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 |