IOCTL_BTH_GET_DEVICE_INFO IOCTL (bthioctl.h)
A solicitação IOCTL_BTH_GET_DEVICE_INFO retorna informações sobre todos os rádios remotos armazenados em cache descobertos anteriormente que estão habilitados para Bluetooth.
Código principal
Buffer de entrada
O membro AssociatedIrp.SystemBuffer aponta para um buffer para uma estrutura de BTH_DEVICE_INFO_LIST .
Comprimento do buffer de entrada
O comprimento de uma estrutura BTH_DEVICE_INFO_LIST
Buffer de saída
O membro AssociatedIrp.SystemBuffer aponta para um buffer que contém uma estrutura BTH_DEVICE_INFO_LIST . O membro numOfDevices da estrutura BTH_DEVICE_INFO_LIST contém o número de dispositivos para os quais há informações e uma matriz de estruturas BTH_DEVICE_INFO ; uma entrada de matriz para cada dispositivo.
Comprimento do buffer de saída
Se o tamanho do buffer de saída passado não for exatamente sizeof(BTH_DEVICE_INFO_LIST)
mais o múltiplo correto de sizeof(BTH_DEVICE_INFO)
, a solicitação falhará com STATUS_INVALID_BUFFER_SIZE.
Bloco de status
Se a solicitação for bem-sucedida, o membro Information da estrutura STATUS_BLOCK será definido como o tamanho, em bytes, do buffer que contém informações sobre a matriz de dispositivos. A estrutura BTH_DEVICE_INFO_LIST contém armazenamento para a primeira estrutura BTH_DEVICE_INFO, portanto, se nenhum dispositivo for retornado, o membro Informações será definido como o tamanho da primeira estrutura.
O membro Status é definido como um dos valores na tabela a seguir.
Valor de status | Descrição |
---|---|
STATUS_SUCCESS | O IOCTL foi concluído com êxito. |
STATUS_INVALID_PARAMETER | O buffer de entrada passado era NULL. |
STATUS_INVALID_BUFFER_SIZE | O buffer de saída não foi dimensionado corretamente. |
Comentários
O IOCTL_BTH_GET_DEVICE_INFO IOCTL fornece informações sobre todos os rádios remotos descobertos anteriormente.
O membro numOfDevices da estrutura BTH_DEVICE_INFO_LIST retorna o número total de estruturas BTH_DEVICE_INFO retornadas pelo IOCTL. Se o driver de chamada passar em um buffer menor que o valor do membro numOfDevices , apenas uma parte das estruturas disponíveis será retornada. Os desenvolvedores de driver Bluetooth devem chamar IOCTL_BTH_GET_DEVICE_INFO com um buffer pequeno primeiro, por exemplo sizeof(BTH_DEVICE_INFO_LIST)
, e, em seguida, usar o membro numOfDevices retornado para dimensionar corretamente o buffer para uma chamada subsequente.
A estrutura BTH_DEVICE_INFO_LIST inclui armazenamento para a primeira estrutura de BTH_DEVICE_INFO. Use a fórmula a seguir para calcular o tamanho correto do buffer para uma chamada para IOCTL_BTH_GET_DEVICE_INFO:
Buffer=sizeof(BTH_DEVICE_INFO_LIST)+(NumOfDevices-1)*sizeof(BTH_DEVICE_INFO)
.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Versões:_Supported no Windows Vista e posterior. |
Cabeçalho | bthioctl.h (include Bthioctl.h) |
IRQL | <= PASSIVE_LEVEL |