IOCTL_INTERNAL_BTH_SUBMIT_BRB IOCTL (bthioctl.h)
I driver di profilo usano IOCTL_INTERNAL_BTH_SUBMIT_BRB per inviare un blocco di richieste Bluetooth (BRB) allo stack di driver Bluetooth.
Codice principale
IRP_MJ_INTERNAL_DEVICE_CONTROL
Buffer di input
Il Parameters.Others.Argument1 membro punta all'indirizzo di un'istanza della struttura che corrisponde al BRB che il driver del profilo intende rilasciare. Nell'elenco seguente vengono descritte le strutture che corrispondono a database BRB specifici.
Blocco richieste Bluetooth (BRB) | Struttura corrispondente |
---|---|
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 |
Lunghezza del buffer di input
Lunghezza della struttura.
Buffer di output
Se BRB restituisce l'output, Parameters->Others.Argument1 punta allo stesso BRB passato come input. L'output viene restituito nei membri della struttura BRB associata o nei buffer specificati nella struttura BRB.
Lunghezza del buffer di output
Lunghezza della struttura
Blocco di stato
Se la richiesta ha esito positivo, il membro informazioni della struttura STATUS_BLOCK viene impostato sulle dimensioni, in byte, del blocco di richieste Bluetooth inviato. In caso contrario, il membro Informazioni è impostato su zero.
Il membro Status è impostato su uno dei valori della tabella seguente.
Valore di stato | Descrizione |
---|---|
STATUS_SUCCESS | L'IOCTL è stato completato correttamente. |
STATUS_INVALID_DEVICE_REQUEST | La richiesta inviata al dispositivo remoto tramite la struttura BRB non è valida. |
STATUS_INVALID_PARAMETER | Uno o più parametri di input non sono validi. |
|
La lunghezza del buffer fornito era troppo piccola. |
STATUS_NOT_IMPLEMENTED | Lo stack non ha implementato il modulo necessario per elaborare BRB. |
STATUS_NOT_SUPPORTED | Lo stack non supporta questo BRB. |
STATUS_PENDING | BRB è in sospeso. |
Osservazioni
I driver di profilo usano BRB per gestire la maggior parte delle attività di input, output e connessione. Per queste attività vengono definiti diversi BRB e ognuno usa una struttura specifica e corrispondente. Tutti i database brb condividono un'intestazione comune, che contiene il tipo di BRB. Lo stack di driver Bluetooth usa l'intestazione BRB per interpretare correttamente il resto di BRB. Per altre informazioni sulle intestazioni BRB, vedere la struttura BRB_HEADER.
Per altre informazioni sul modo in cui i driver di profilo usano i DATABASE per comunicare con lo stack di driver Bluetooth, vedere Building and Sending a BRB.For more information about how profile drivers use BRBs to communicate with the Bluetooth driver stack, see Building and Sending a BRB.
Questi BRB devono essere chiamati in irQL <= PASSIVE_LEVEL.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Versioni:_Supported in Windows Vista e versioni successive. |
intestazione | bthioctl.h (include BthIoctl.h) |
IRQL | <= PASSIVE_LEVEL |