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_GET_LOCAL_BD_ADDR

BRB_L2CA_REGISTER_SERVER

_BRB_L2CA_REGISTER_SERVER

BRB_L2CA_UNREGISTER_SERVER _BRB_L2CA_UNREGISTER_SERVER
BRB_L2CA_OPEN_CHANNEL

_BRB_L2CA_OPEN_CHANNEL

BRB_L2CA_OPEN_CHANNEL_RESPONSE

_BRB_L2CA_OPEN_CHANNEL

BRB_L2CA_CLOSE_CHANNEL

_BRB_L2CA_CLOSE_CHANNEL

BRB_L2CA_ACL_TRANSFER

_BRB_L2CA_ACL_TRANSFER

BRB_L2CA_UPDATE_CHANNEL

_BRB_L2CA_UPDATE_CHANNEL

BRB_L2CA_PING

_BRB_L2CA_PING

BRB_REGISTER_PSM

_BRB_PSM

BRB_UNREGISTER_PSM

_BRB_PSM

BRB_SCO_REGISTER_SERVER

_BRB_SCO_REGISTER_SERVER

BRB_SCO_UNREGISTER_SERVER

_BRB_SCO_UNREGISTER_SERVER

BRB_SCO_OPEN_CHANNEL

_BRB_SCO_OPEN_CHANNEL

BRB_SCO_OPEN_CHANNEL_RESPONSE

_BRB_SCO_OPEN_CHANNEL

BRB_SCO_CLOSE_CHANNEL

_BRB_SCO_CLOSE_CHANNEL

BRB_SCO_TRANSFER

_BRB_SCO_TRANSFER

BRB_SCO_GET_CHANNEL_INFO

_BRB_SCO_GET_CHANNEL_INFO

BRB_SCO_GET_SYSTEM_INFO

_BRB_SCO_GET_SYSTEM_INFO

BRB_SCO_FLUSH_CHANNEL

_BRB_SCO_FLUSH_CHANNEL

BRB_ACL_GET_MODE

_BRB_ACL_GET_MODE

BRB_ACL_ENTER_ACTIVE_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.
STATUS_INVALID_BUFFER_SIZE ou
STATUS_BUFFER_TOO_SMALL
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

Voir aussi

BRB_HEADER

BRB_TYPE

Génération et envoi d’un BRB