IOCTL_INTERNAL_BTH_SUBMIT_BRB IOCTL (bthioctl.h)
Les pilotes de profil utilisent IOCTL_INTERNAL_BTH_SUBMIT_BRB pour envoyer un bloc de requête Bluetooth (BRB) à la pile de pilotes Bluetooth.
Code principal
IRP_MJ_INTERNAL_DEVICE_CONTROL
Mémoire tampon d'entrée
Le membre Parameters.Others.Argument1 pointe vers l’adresse un instance de la structure qui correspond au BRB que le pilote de profil a l’intention d’émettre. La liste suivante décrit les structures qui correspondent à des BBR spécifiques.
Bluetooth Request Block (BRB) | Structure correspondante |
---|---|
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 |
Longueur de la mémoire tampon d’entrée
Longueur de la structure.
Mémoire tampon de sortie
Si le BRB retourne une sortie, Parameters-Others.Argument1> pointe vers le même BRB qui a été passé comme entrée. La sortie est retournée dans les membres de la structure BRB associée ou dans les mémoires tampons spécifiées dans la structure BRB.
Longueur de la mémoire tampon de sortie
Longueur de la structure
Bloc d’état
Si la requête réussit, le membre Information de la structure STATUS_BLOCK est défini sur la taille, en octets, du bloc de requête Bluetooth qui a été envoyé. Sinon, le membre Information est défini sur zéro.
Le membre Status est défini sur l’une des valeurs du tableau suivant.
Valeur d’état | Description |
---|---|
STATUS_SUCCESS | L’IOCTL s’est terminé avec succès. |
STATUS_INVALID_DEVICE_REQUEST | La demande envoyée à l’appareil distant via la structure BRB n’était pas valide. |
STATUS_INVALID_PARAMETER | Un ou plusieurs paramètres d’entrée n’étaient pas valides. |
|
La longueur de la mémoire tampon fournie était trop petite. |
STATUS_NOT_IMPLEMENTED | La pile n’a pas implémenté le module nécessaire pour traiter le BRB. |
STATUS_NOT_SUPPORTED | La pile ne prend pas en charge ce BRB. |
STATUS_PENDING | Le BRB est en attente. |
Remarques
Les pilotes de profil utilisent des BBR pour gérer la plupart des tâches d’entrée, de sortie et de connexion. Un certain nombre de BBR sont définis pour ces tâches, et chacune d’elles utilise une structure spécifique et correspondante. Tous les BBR partagent un en-tête commun, qui contient le type du BRB. La pile de pilotes Bluetooth utilise l’en-tête BRB pour interpréter correctement le reste du BRB. Pour plus d’informations sur les en-têtes BRB, consultez la structure BRB_HEADER .
Pour plus d’informations sur la façon dont les pilotes de profil utilisent les BBR pour communiquer avec la pile de pilotes Bluetooth, consultez Génération et envoi d’un BRB.
Ces BBR doivent être appelés à l’adresse IRQL <= PASSIVE_LEVEL.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Versions :_Supported dans Windows Vista et versions ultérieures. |
En-tête | bthioctl.h (inclure BthIoctl.h) |
IRQL | <= PASSIVE_LEVEL |