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 almacenadas en caché detectadas previamente 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 de BTH_DEVICE_INFO_LIST . El miembro numOfDevices 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 más sizeof(BTH_DEVICE_INFO_LIST) 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 Status 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 era NULL.
STATUS_INVALID_BUFFER_SIZE El búfer de salida no tenía el tamaño correcto.

Comentarios

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 miembro numOfDevices devuelto 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 correcto del búfer de una llamada a IOCTL_BTH_GET_DEVICE_INFO: Buffer=sizeof(BTH_DEVICE_INFO_LIST)+(NumOfDevices-1)*sizeof(BTH_DEVICE_INFO).

Requisitos

Requisito Value
Cliente mínimo compatible Versions:_Supported en Windows Vista y versiones posteriores.
Encabezado bthioctl.h (incluya Bthioctl.h)
IRQL <= PASSIVE_LEVEL

Consulte también

BTH_DEVICE_INFO

BTH_DEVICE_INFO_LIST