Partager via


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_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 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.
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 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

Voir aussi

BRB_HEADER

BRB_TYPE

Génération et envoi d’un BRB