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