IOCTL_INTERNAL_BTH_SUBMIT_BRB IOCTL (bthioctl.h)
Les pilotes de profil utilisent IOCTL_INTERNAL_BTH_SUBMIT_BRB pour envoyer un bloc de demande Bluetooth (BRB) à la pile des pilotes Bluetooth.
Code principal
IRP_MJ_INTERNAL_DEVICE_CONTROL
Mémoire tampon d’entrée
Le membre Parameters.Others.Argument1 pointe vers l’adresse d’une instance de la structure qui correspond à la BRB que le pilote de profil a l’intention de émettre. La liste suivante décrit les structures qui correspondent à des brbs spécifiques.
Bloc de requête Bluetooth (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 la sortie, Parameters->Others.Argument1 pointe vers le même BRB passé en tant qu’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 demande réussit, l'Information membre de la structure STATUS_BLOCK est défini sur la taille, en octets, du bloc de requête Bluetooth envoyé. Dans le cas contraire, 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 | Le IOCTL s’est terminé avec succès. |
STATUS_INVALID_DEVICE_REQUEST | La demande envoyée à l’appareil distant par le biais de 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 brb pour gérer la plupart des tâches d’entrée, de sortie et de connexion. Un certain nombre de brb sont définis pour ces tâches, et chacun utilise une structure spécifique et correspondante. Tous les brb 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 de la 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 des brb pour communiquer avec la pile des pilotes Bluetooth, consultez Génération et envoi d’un BRB.
Ces brb doivent être appelés au <IRQL = PASSIVE_LEVEL.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Versions :_Supported dans Windows Vista et versions ultérieures. |
d’en-tête | bthioctl.h (include BthIoctl.h) |
IRQL | <= PASSIVE_LEVEL |