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_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 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. |
|
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 |