IOCTL_INTERNAL_BTH_SUBMIT_BRB IOCTL (bthioctl.h)
I driver del profilo usano IOCTL_INTERNAL_BTH_SUBMIT_BRB per inviare un blocco richiesta Bluetooth (BRB) allo stack di driver Bluetooth.
Codice principale
IRP_MJ_INTERNAL_DEVICE_CONTROL
Buffer di input
Il membro Parameters.Others.Argument1 punta all'indirizzo di un'istanza della struttura corrispondente al BRB che il driver del profilo intende eseguire. Nell'elenco seguente vengono descritte le strutture corrispondenti a BRB specifiche.
Blocco richiesta 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 dello stato
Se la richiesta ha esito positivo, il membro Informazioni della struttura STATUS_BLOCK è impostato sulle dimensioni, in byte, del blocco di richiesta Bluetooth inviato. In caso contrario, il membro Information è 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 il BRB. |
STATUS_NOT_SUPPORTED | Lo stack non supporta questo BRB. |
STATUS_PENDING | BRB è in sospeso. |
Commenti
I driver del profilo usano i database BRB per gestire la maggior parte delle attività di input, output e connessione. Per queste attività viene definito un numero di BRB e ognuno usa una struttura specifica e corrispondente. Tutti i BRBs condividono un'intestazione comune, che contiene il tipo di BRB. Lo stack di driver Bluetooth usa l'intestazione BRB per interpretare correttamente il resto della BRB. Per altre informazioni sulle intestazioni BRB, vedere la struttura BRB_HEADER .
Per altre informazioni sul modo in cui i driver del profilo usano brB per comunicare con lo stack di driver Bluetooth, vedere Compilazione e invio di un BRB.
Questi BRBs devono essere chiamati in IRQL <= PASSIVE_LEVEL.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Versioni:_Supported in Windows Vista e versioni successive. |
Intestazione | bthioctl.h (include BthIoctl.h) |
IRQL | <= PASSIVE_LEVEL |