Propriedades de informações do dispositivo

Cada dispositivo associou propriedades DeviceInformation que você pode usar quando precisar de informações específicas ou quando estiver criando um seletor de dispositivo. Um filtro AQS (Sintaxe de Consulta Avançada) pode ser usado para especificar essas propriedades e limitar os dispositivos enumerados com as características especificadas. Você também pode usar essas propriedades para indicar quais informações deseja retornar para cada dispositivo. Isso permite que você especifique as informações do dispositivo que são retornadas ao seu aplicativo.

APIs importantes

Para obter mais informações sobre como usar as propriedades de DeviceInformation no seletor de dispositivos, consulte Criar um seletor de dispositivos. Este tópico mostra como solicitar propriedades de informações e descreve algumas propriedades comuns.

Um objeto DeviceInformation é composto por um identificador (DeviceInformation.Id), uma categoria (DeviceInformation.Kind) e um conjunto de propriedades (DeviceInformation.Properties). Todas as outras propriedades de um objeto DeviceInformation são derivadas do recipiente de propriedades Properties . Por exemplo, o nome é derivado de System.ItemNameDisplay. Isso significa que o conjunto de propriedades sempre contém as informações necessárias para determinar as outras propriedades.

Solicitação de propriedades

Um objeto DeviceInformation tem algumas propriedades básicas, como Id e Kind, mas a maioria das propriedades são armazenadas em um recipiente de propriedades em Properties. Por isso, o recipiente de propriedades contém as propriedades usadas para obter as propriedades do recipiente de propriedades. Por exemplo, use System.ItemNameDisplay para referenciar a propriedade Name. Esse é um caso de uma propriedade comum e conhecida que tem um nome amigável. Windows fornece vários desses nomes amigáveis para facilitar a consulta de propriedades.

Ao solicitar propriedades, você não se limita às propriedades comuns com nomes amigáveis. Você pode especificar o GUID subjacente e a ID da propriedade (PID) para solicitar qualquer propriedade disponível, até mesmo propriedades personalizadas fornecidas por um dispositivo ou driver individual. O formato para especificar uma propriedade personalizada é "{GUID} PID". Por exemplo: "{744e3bed-3684-4e16-9f8a-07953a8bf2ab} 7".

Note

Você pode encontrar a lista de GUIDs de propriedade no arquivo de cabeçalho de chave de propriedade do dispositivo do driver do dispositivo.

Algumas propriedades são comuns em todos os objetos DeviceInformationKind , mas a maioria é exclusiva de um tipo específico. As seções a seguir listam algumas propriedades comuns classificadas pelo DeviceInformationKind individual. Para obter mais informações sobre como os diferentes tipos se relacionam entre si, consulte DeviceInformationKind.

Propriedades de DeviceInterface

DeviceInterface é o objeto DeviceInformationKind padrão e mais comum usado em cenários de aplicativo. Esse é o tipo de objeto que você deve usar, a menos que a API do dispositivo indique um DeviceInformationKind específico diferente.

Name Tipo Descrição
System.Devices.ContainerId GUID Identidade do DeviceInformationKind.DeviceContainer que contém o dispositivo que contém este DeviceInterface. Você pode passar esse valor para CreateFromIdAsync junto com DeviceInformationKind.DeviceContainer para localizar o contêiner apropriado.
System.Devices.InterfaceClassGuid GUID A classe de interface GUID que essa interface representa.
System.Devices.DeviceInstanceId String Identidade do dispositivo pai DeviceInformationKind.Device. Você pode passar esse valor para CreateFromIdAsync juntamente com DeviceInformationKind.Device para localizar o dispositivo apropriado.
System.Devices.InterfaceEnabled booleano Indica se a interface está habilitada. DeviceInformation.IsEnabled é derivado dessa propriedade.
System.Devices.GlyphIcon String Caminho do ícone para o glifo.
System.Devices.IsDefault booleano Indica se esse é o dispositivo padrão para System.Devices.InterfaceClassGuid. Isso é usado principalmente para impressoras. Isso não funciona para áudio, pois há vários padrões de áudio. Use GetDefaultAudioRenderId ou GetDefaultAudioCaptureId para obter padrões de áudio.
System.Devices.Icon String Caminho do ícone.
System.ItemNameDisplay String O melhor nome de exibição para o objeto do dispositivo.

 

Propriedades do dispositivo

Name Tipo Descrição
System.Devices.ClassGuid GUID Classe de dispositivo usada durante a instalação do dispositivo. Para obter mais informações, consulte Classes de Instalação do Dispositivo.
System.Devices.CompatibleIds String[] Os IDs compatíveis do dispositivo. Eles são usados quando Windows está determinando o melhor driver para instalar no dispositivo. Para obter mais informações, consulte ID compatível.
System.Devices.ContainerId GUID Identidade do DeviceInformationKind.DeviceContainer que inclui este dispositivo. Você pode passar esse valor para CreateFromIdAsync junto com DeviceInformationKind.DeviceContainer para localizar o contêiner apropriado.
System.Devices.DeviceCapabilities UInt32 Um OR bit a bit dos sinalizadores de recursos de CM_DEVCAP_X definidos no CfgMgr32.h. Para obter mais informações, consulte DEVPKEY_Device_Capabilities.
System.Devices.DeviceHasProblem booleano O dispositivo atualmente tem um problema e provavelmente não está funcionando corretamente. Isso pode ser devido a um driver desatualizado, ausente ou inválido.
System.Devices.DeviceInstanceId String A identidade do dispositivo. Esse também é o valor de DeviceInformation.Id.
System.Devices.DeviceManufacturer String O fabricante do dispositivo.
System.Devices.HardwareIds String[] As IDs de hardware do dispositivo. Windows usa essas IDs ao determinar o melhor driver para instalar. Os fornecedores de dispositivos podem usar essa propriedade para identificar seu dispositivo a partir de seu aplicativo. Para obter mais informações, consulte ID de Hardware.
System.Devices.Parent String O DeviceInformation.Id do dispositivo pai. Este é o pai da conexão, não o pai do DeviceContainer.
System.Devices.Present booleano Indica se o dispositivo está atualmente presente e disponível.
System.ItemNameDisplay String O melhor nome de exibição para este objeto do dispositivo. Nesse caso, esse não é necessariamente o melhor nome para os usuários. Um candidato mais provável para um nome amigável pode ser encontrado fazendo referência ao System.ItemNameDisplay do DeviceContainer ou DeviceInterface associado.

 

Propriedades de DeviceContainer

Name Tipo Descrição
System.Devices.Category String[] Uma lista de descrições das categorias às quais o dispositivo pertence. Essa lista é fornecida como categorias singulares. Por exemplo, "Exibir", "Telefone" ou "Dispositivo de áudio".
System.Devices.CategoryIds String[] Contém uma lista de categorias às quais este dispositivo pertence. Por exemplo, Audio.Headphone, Display.Monitor ou Input.Gaming.
System.Devices.CategoryPlural String[] Uma lista de descrições das categorias às quais o dispositivo pertence. Esta lista é apresentada em categorias de plural. Por exemplo, "Telas", "Telefones" ou "dispositivos de áudio".
System.Devices.CompatibleIds String[] A coleção de IDs compatíveis para todos os objetos filho DeviceInformationKind.Device .
System.Devices.Connected booleano Indica se o dispositivo está conectado ao sistema ou não.
System.Devices.GlyphIcon String Caminho do ícone para o glifo.
System.Devices.HardwareIds String[] A coleção de IDs de hardware para todos os objetos filho DeviceInformationKind.Device.
System.Devices.Icon String Caminho do ícone.
System.Devices.LocalMachine booleano True se este DeviceContainer representar o próprio sistema, false se o dispositivo for externo ao sistema.
System.Devices.Manufacturer String O fabricante do dispositivo.
System.Devices.ModelName String Nome do modelo do contêiner do dispositivo.
System.Devices.Paired booleano Indica se algum dos objetos filho DeviceInformationKind.Device são dispositivos sem fio ou de rede que estão atualmente emparelhados com o sistema.
System.ItemNameDisplay String O melhor nome de exibição para este dispositivo.

 

Propriedades da DeviceInterfaceClass

Name Tipo Descrição
System.ItemNameDisplay String O melhor nome de exibição para este dispositivo.

 

Propriedades do DevicePanel

Name Tipo Descrição
System.Devices.Panel.PanelId String O identificador do objeto DevicePanel .
System.Devices.Panel.PanelGroup String O identificador do PanelGroup pai.

Propriedades de AssociationEndpoint

Name Tipo Descrição
System.Devices.Aep.AepId String Identidade deste dispositivo. Esse também é o valor de DeviceInformation.Id.
System.Devices.Aep.CanPair booleano Indica se o dispositivo pode ser emparelhado com o sistema ou não. DeviceInformationPairing.CanPair é derivado dessa propriedade.
System.Devices.Aep.Category String[] As categorias das quais o dispositivo faz parte. Por exemplo, impressora ou câmera.
System.Devices.Aep.ContainerId GUID O identificador do objeto pai AssociationEndpointContainer.
System.Devices.Aep.DeviceAddress String O endereço do dispositivo. Se o dispositivo for um dispositivo de rede, esse será o endereço IP.
System.Devices.Aep.IsConnected booleano Indica se o dispositivo está conectado ao sistema no momento.
System.Devices.Aep.IsPaired booleano Indica se o dispositivo está emparelhado no momento. DeviceInformationPairing.IsPaired é derivado dessa propriedade.
System.Devices.Aep.IsPresent booleano Indica se o dispositivo está presente no momento, o que significa que o dispositivo está ativo e descoberto pela rede ou protocolo sem fio. Depois que um dispositivo tiver sido emparelhado com o sistema, o dispositivo será armazenado em cache. Depois disso, o dispositivo será descoberto automaticamente ao consultar objetos AssociationEndpoint . Por isso, você não pode confiar apenas na detecção do dispositivo por meio de uma consulta para determinar se ele está utilizável no momento. É por isso que essa propriedade é importante.
System.Devices.Aep.Manufacturer String O fabricante do dispositivo.
System.Devices.Aep.ModelId GUID A ID do modelo do dispositivo.
System.Devices.Aep.ModelName String O nome do modelo do dispositivo.
System.Devices.Aep.ProtocolId GUID Indica o protocolo usado para descobrir esse dispositivo AssocationEndpoint .
System.Devices.Aep.SignalStrength Int32 A força do sinal do dispositivo. Essa propriedade só é aplicável a alguns protocolos.
System.ItemNameDisplay String O melhor nome de exibição para o dispositivo.

 

Propriedades de AssociationEndpointContainer

Name Tipo Descrição
System.Devices.AepContainer.Categories String[] As categorias das quais o dispositivo faz parte. Por exemplo, impressora ou câmera.
System.Devices.AepContainer.Children String[] A coleção de IDs para os objetos AssocationEndpoint que fazem parte desse contêiner.
System.Devices.AepContainer.CanPair booleano Indica se algum dos dispositivos AssociationEndpoint secundários pode ser emparelhado ao sistema ou não. DeviceInformationPairing.CanPair é derivado dessa propriedade.
System.Devices.AepContainer.ContainerId GUID Identidade deste dispositivo. Esse também é o valor de DeviceInformation.Id, mas no formato GUID.
System.Devices.AepContainer.IsPaired booleano Indica se um dos dispositivos secundários AssociationEndpoint está emparelhado atualmente. DeviceInformationPairing.IsPaired é derivado dessa propriedade.
System.Devices.AepContainer.IsPresent booleano Indica se um dos dispositivos AssociationEndpoint filhos está presente, o que significa que ele está ativo e foi detectado pela rede ou por protocolo sem fio. Depois que um dispositivo tiver sido emparelhado com o sistema, o dispositivo será armazenado em cache. Depois disso, o dispositivo será descoberto automaticamente ao consultar objetos AssociationEndpoint . Por isso, você não pode confiar apenas na detecção do dispositivo por meio de uma consulta para determinar se ele está utilizável no momento. É por isso que essa propriedade é importante.
System.Devices.AepContainer.Manufacturer String O fabricante do dispositivo.
System.Devices.AepContainer.ModelIds String[] Uma lista de IDs de modelo para o dispositivo. Cada modelo é um GUID no formato de cadeia de caracteres.
System.Devices.AepContainer.ModelName String O nome do modelo do dispositivo.
System.Devices.AepContainer.ProtocolIds GUID[] Uma lista de IDs de protocolo que contribuíram para a criação deste objeto AssociationEndpointContainer . Tenha em mente que um dispositivo AssociationEndpointContainer é criado coletando todos os dispositivos AssociationEndpoint descobertos em protocolos diferentes para o mesmo dispositivo físico.
System.Devices.AepContainer.SupportedUriSchemes String[] Lista de esquemas de URI de transmissão suportados por este dispositivo.
System.Devices.AepContainer.SupportsAudio booleano Indica se esse dispositivo dá suporte à conversão de áudio.
System.Devices.AepContainer.SupportsImages booleano Indica se esse dispositivo dá suporte à conversão de imagem.
System.Devices.AepContainer.SupportsVideo booleano Indica se esse dispositivo dá suporte à conversão de vídeo.
System.ItemNameDisplay String O melhor nome de exibição para o dispositivo.

 

Propriedades de AssociationEndpointService

Name Tipo Descrição
System.Devices.AepService.AepId String O identificador do objeto AssociationEndpoint pai.
System.Devices.AepService.ContainerId GUID O identificador do objeto pai AssociationEndpointContainer.
System.Devices.AepService.ParentAepIsPaired booleano Indica se o objeto AssociationEndpoint pai está emparelhado com o sistema.
System.Devices.AepService.ProtocolId GUID Identidade do protocolo usado para descobrir esse dispositivo.
System.Devices.AepService.ServiceClassId GUID Identidade do serviço representado por este dispositivo.
System.Devices.AepService.ServiceId String Identidade desse serviço. Esse também é o valor de DeviceInformation.Id.
System.ItemNameDisplay String O melhor nome de exibição para o serviço.