Compartir a través de


IOCTL_BTH_GET_DEVICE_INFO IOCTL (bthioctl.h)

La solicitud IOCTL_BTH_GET_DEVICE_INFO devuelve información sobre todas las radios remotas detectadas previamente en caché que están habilitadas para Bluetooth.

Código principal

IRP_MJ_DEVICE_CONTROL

Búfer de entrada

El miembro AssociatedIrp.SystemBuffer apunta a un búfer para una estructura de BTH_DEVICE_INFO_LIST.

Longitud del búfer de entrada

Longitud de una estructura de BTH_DEVICE_INFO_LIST

Búfer de salida

El miembro AssociatedIrp.SystemBuffer apunta a un búfer que contiene una estructura BTH_DEVICE_INFO_LIST. El numOfDevices miembro de la estructura BTH_DEVICE_INFO_LIST contiene el número de dispositivos para los que hay información y una matriz de estructuras BTH_DEVICE_INFO; una entrada de matriz para cada dispositivo.

Longitud del búfer de salida

Si el tamaño del búfer de salida pasado no es exactamente sizeof(BTH_DEVICE_INFO_LIST) más el múltiplo correcto de sizeof(BTH_DEVICE_INFO), se producirá un error en la solicitud con STATUS_INVALID_BUFFER_SIZE.

Bloque de estado

Si la solicitud se realiza correctamente, el miembro Information de la estructura STATUS_BLOCK se establece en el tamaño, en bytes, del búfer que contiene información sobre la matriz de dispositivos. La estructura BTH_DEVICE_INFO_LIST contiene almacenamiento para la primera estructura de BTH_DEVICE_INFO, por lo que si no se devuelve ningún dispositivo, el miembro Information se establece en el tamaño de la primera estructura.

El miembro Estado de se establece en uno de los valores de la tabla siguiente.

Valor de estado Descripción
STATUS_SUCCESS El IOCTL se completó correctamente.
STATUS_INVALID_PARAMETER El búfer de entrada pasado se NULL.
STATUS_INVALID_BUFFER_SIZE El búfer de salida no se ha dimensionado correctamente.

Observaciones

El IOCTL_BTH_GET_DEVICE_INFO IOCTL proporciona información sobre todas las radios remotas detectadas anteriormente.

El miembro numOfDevices de la estructura BTH_DEVICE_INFO_LIST devuelve el número total de estructuras de BTH_DEVICE_INFO que devuelve el IOCTL. Si el controlador de llamada pasa un búfer que es menor que el valor del miembro numOfDevices, solo se devolverá una parte de las estructuras disponibles. Los desarrolladores de controladores Bluetooth deben llamar a IOCTL_BTH_GET_DEVICE_INFO con un búfer pequeño primero, por ejemplo, sizeof(BTH_DEVICE_INFO_LIST)y, a continuación, usar el numOfDevices devuelto miembro para ajustar correctamente el tamaño del búfer para una llamada posterior.

La estructura BTH_DEVICE_INFO_LIST incluye almacenamiento para la primera estructura de BTH_DEVICE_INFO. Use la fórmula siguiente para calcular el tamaño de búfer correcto para una llamada a IOCTL_BTH_GET_DEVICE_INFO: Buffer=sizeof(BTH_DEVICE_INFO_LIST)+(NumOfDevices-1)*sizeof(BTH_DEVICE_INFO).

Requisitos

Requisito Valor
cliente mínimo admitido Versiones: _Supported en Windows Vista y versiones posteriores.
encabezado de bthioctl.h (incluya Bthioctl.h)
irQL <= PASSIVE_LEVEL

Consulte también

BTH_DEVICE_INFO

BTH_DEVICE_INFO_LIST