Partilhar via


DeviceInformationKind Enumeração

Definição

Define constantes que especificam um tipo de objeto DeviceInformation .

public enum class DeviceInformationKind
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
enum class DeviceInformationKind
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
public enum DeviceInformationKind
var value = Windows.Devices.Enumeration.DeviceInformationKind.unknown
Public Enum DeviceInformationKind
Herança
DeviceInformationKind
Atributos

Requisitos do Windows

Família de dispositivos
Windows 10 (introduzida na 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v1.0)

Campos

AssociationEndpoint 5

O objeto DeviceInformation representa um AEP (ponto de extremidade de associação de dispositivo). Os AEPs geralmente representam um dispositivo descoberto por meio de um protocolo sem fio ou de rede. Alguns desses pontos de extremidade podem ser usados sem a necessidade de emparelhar primeiro o dispositivo. Use CanPair para determinar se um dispositivo dá suporte ao emparelhamento e IsPaired para determinar se um dispositivo já está emparelhado com o sistema. Somente objetos AssociationEndpoint têm um valor não NULL para Emparelhamento. Para obter mais informações sobre emparelhamento em uma rede, consulte Enumerar dispositivos em uma rede. Um objeto AssociationEndpoint é filho de um único objeto AssociationEndpointContainer e pode conter 0 ou mais objetos AssociationEndpointService .

A ID deste objeto.

AssociationEndpointContainer 6

O objeto DeviceInformation representa um contêiner de ponto de extremidade de associação (AEP). Um objeto AssociationEndpointContainer representa um único dispositivo físico que pode ter mais de um objeto AssociationEndpoint associado a ele. Por exemplo, se uma televisão der suporte a dois protocolos de rede diferentes, AssociationEndpointContainer será a televisão. Ele também teria dois objetos AssociationEndpoint para representar cada protocolo.

A ID desse objeto é o GUID do contêiner AEP como uma cadeia de caracteres.

AssociationEndpointProtocol 9

O objeto DeviceInformation representa um protocolo por meio do qual os pontos de extremidade de associação (AEPs) podem ser descobertos. Você pode definir o escopo de uma descoberta de ponto de extremidade de associação para protocolos específicos usando a ID do protocolo. Por exemplo, o seletor a seguir define os escopos da descoberta para Bluetooth LE ou Bluetooth Clássico.

Consulte Comentários para obter mais informações.

AssociationEndpointService 7

O objeto DeviceInformation representa um serviço AEP (ponto de extremidade de associação). Um objeto AssociationEndpointService representa um contrato de serviço funcional exposto pelo dispositivo. Nem todos os protocolos dão suporte a serviços AEP. Um AssociationEndpointService pode ter um único objeto AssociationEndpointContainer pai.

A ID desse objeto como uma cadeia de caracteres.

Device 3

O objeto DeviceInformation representa um objeto de dispositivo. Isso também pode ser chamado de devnode. Esses dispositivos são objetos que representam uma parte da funcionalidade do dispositivo e, opcionalmente, têm drivers carregados neles. Quando um dispositivo físico é emparelhado com janelas, vários objetos Device são criados para ele. Um dispositivo contém 0 ou mais objetos DeviceInterface , é filho de um objeto DeviceContainer e está relacionado a 0 ou 1 objetos AssociationEndpoint .

A ID desse objeto é a ID da instância do dispositivo para esse objeto.

DeviceContainer 2

O objeto DeviceInformation representa um contêiner de dispositivo. Os objetos DeviceContainer descrevem uma coleção de objetos de dispositivo que existem no mesmo dispositivo físico. Por exemplo, uma impressora de várias funções pode ter vários dispositivos diferentes incluídos, mas todos eles existiriam como parte do objeto DeviceContainer pai.

A ID desse objeto é o GUID do contêiner do dispositivo como uma cadeia de caracteres.

DeviceInterface 1

O objeto DeviceInformation representa uma interface de dispositivo PnP. Eles são expostos por drivers de dispositivo para permitir que um aplicativo se comunique com o dispositivo, normalmente usando IOCTLS do dispositivo (controles de saída de entrada).

Esse tipo de objeto DeviceInformation contém todas as propriedades do objeto DeviceInterface PnP mais algumas propriedades do objeto Pai PnP DeviceContainer . Essa combinação de propriedades pode ser apresentada ao usuário quando o usuário precisa selecionar um dispositivo para concluir um cenário de aplicativo. Um objeto DeviceInterface só pode ser filho de um objeto DeviceContainer .

Esse é o Padrão DeviceInformationKind ao enumerar dispositivos sem especificar um tipo específico.

A ID desse objeto é a ID da interface do dispositivo ou o caminho da interface do dispositivo.

DeviceInterfaceClass 4

O objeto DeviceInformation representa uma classe de interface do dispositivo. Cada objeto DeviceInterface pertence a um determinado DeviceInterfaceClass. Isso é semelhante a uma definição de contrato. Esses contratos são representados com uma ID e propriedades, assim como todos os outros objetos PnP. Os objetos DeviceInterfaceClass contêm pouco mais informações do que um identificador exclusivo e, possivelmente, um nome.

A ID desse objeto é o GUID da classe de interface do dispositivo como uma cadeia de caracteres.

DevicePanel 8

O objeto DeviceInformation representa uma única face física de um compartimento de dispositivo.

A ID desse objeto como uma cadeia de caracteres.

Unknown 0

O objeto é de um tipo desconhecido. Este valor não é usado.

Comentários

Um valor DeviceInformationKind pode ser passado para as várias APIs de enumeração para indicar o tipo específico de dispositivo que você deseja enumerar. Na maioria dos cenários, você receberá o DeviceInformation do seletor de dispositivo. Para ver como enumerar em tipos específicos de dispositivos usando DeviceInformationKind, consulte Enumerar dispositivos.

O diagrama a seguir mostra como os diferentes tipos de dispositivo interagem entre si. Também indica as propriedades que unem as relações. Por motivos de desempenho, muitas das conexões de relação vão em apenas uma direção. A exceção a isso é AepContainer. Ele contém uma lista de seus objetos filho graças a System.Devices.AepContainer.Children.

Relações DeviceInformationKind

Cada linha no diagrama acima representa como as relações entre os tipos de objeto são definidas. Um objeto primário tem uma ID de objeto principal. E, em seguida, há uma propriedade no objeto relacionado cujo valor é igual a essa ID de objeto principal.

Por exemplo, há 0 a N objetos DeviceInterface para um DeviceInterfaceClass. Portanto, existem objetos 0 a N DeviceInterface que são da classe de interface do dispositivo representada pelo objeto DeviceInterfaceClass . A ID do objeto principal do objeto DeviceInterfaceClass é um GUID de classe de interface do dispositivo. Os objetos DeviceInterface , por sua vez, têm uma propriedade chamada DEVPKEY_DeviceInterface_ClassGuid. O valor dessa propriedade (um GUID) indica qual é a classe de interface do dispositivo do objeto DeviceInterface (ou seja, que tipo de interface é). E, claro, esse valor é igual à ID de objeto principal do objeto DeviceInterfaceClass relacionado.

Vamos ver mais alguns exemplos. Veja abaixo um exemplo de como os objetos do dispositivo são mapeados em uma webcam. Você pode ver um contêiner, quatro nós de dispositivo (devnodes para abreviar) e o devnode expandido tem cinco interfaces de dispositivo (três das quais estão habilitadas).

Objetos de dispositivo para uma webcam

Examinando as propriedades da interface de dispositivo selecionada (realçada), você pode ver como as propriedades são usadas para unir o modelo de objeto. Os nomes de chave mostrados são, na verdade, as versões do Win32 (por exemplo, DEVPKEY_DeviceInterface_ClassGuid). No Windows Runtime (WinRT), as propriedades são mapeadas pelo sistema de propriedades (consulte Dispositivos (Sistema de Propriedades do Windows)), portanto, o equivalente a DEVPKEY_DeviceInterface_ClassGuid é System.Device.InterfaceClassGuid.

X

Por exemplo, se você souber uma ID de classe de interface do dispositivo (também conhecida como GUID de classe), poderá encontrar o objeto de classe de interface do dispositivo com essa ID (que é sua ID principal). Na ilustração abaixo, você pode ver que ela é apenas uma classe de interface de dispositivo Câmeras ; e você pode ver mais informações sobre essa classe de interface do dispositivo. Qualquer interface de dispositivo que esteja nessa classe de interface de dispositivo terá um valor de propriedade DEVPKEY_DeviceInterface_ClassGuid igual ao GUID de Classe mostrado abaixo.

X

Aqui está outro exemplo; desta vez de um fone de ouvido Bluetooth. O devnode está selecionado. E realçado é a ID do AEP para a qual ele é mapeado para o objeto de ponto de extremidade de associação. Isso ilustra a relação entre objetos Device e objetos Aep . DEVPKEY_Aep_AepId (Win32) ou System.Devices.Aep.AepId (WinRT) é a maneira de combinar esses dois tipos de objeto. O devnode terá um valor de propriedade DEVPKEY_Aep_AepId se for de um dispositivo emparelhado. Em seguida, você pode usar esse valor para localizar um objeto Aep cuja ID de núcleo corresponde ao valor.

X

E aqui está um exemplo de um devnode que mostra a qual painel ele pertence, juntamente com sua ID. O painel representa as portas USB na parte superior do chassi de um computador pessoal. Isso ilustra a relação entre DevicePanel (na parte superior da ilustração) e Dispositivo (ou devnode; na parte inferior da ilustração). Interfaces de dispositivo e devnodes podem ter um valor de propriedade System.Devices.Panel.PanelId . Em seguida, você pode usar esse valor para localizar um objeto DevicePanel cuja ID principal corresponde ao valor.

X

Para a constante AssociationEndpointProtocol , um exemplo de cadeia de caracteres do seletor AQS é:

System.Devices.Aep.ProtocolId:="{e0cbf06c-cd8b-4647-bb8a-263b43f0f974}" (para Bluetooth Clássico) ou System.Devices.Aep.ProtocolId:=:"{bb7bb05e-5972-42b5-94fc-76eaa7084d49}" (para Bluetooth LE).

System.Devices.Aep.ProtocolId é o nome do protocolo em propsys; e DEVPKEY_Aep_ProtocolId é o Win32 DEVPKEY.

Aqui está um exemplo representativo de como é a enumeração de um protocolo e como ele corresponde às propriedades do AEP (com anotações dentro de colchetes).

> pairtool /enum-protocols
...
Protocol ID:                Bluetooth [DEVPKEY_Aep_ProviderName]
Protocol Provider Name:     Bluetooth
Protocol Name:              Bluetooth Classic
Universal Protocol ID:      {e0cbf06c-cd8b-4647-bb8a-263b43f0f974} [DEVPKEY_Aep_ProtocolId // <propertyDescription name="System.Devices.Aep.ProtocolId" formatID="{3B2CE006-5E61-4FDE-BAB8-9B8AAC9B26DF}" propID="5">]
Protocol Provider Class ID: {4aa383d6-337a-43d3-a3fa-c14b26004130}

Protocol ID:                BluetoothLE [DEVPKEY_Aep_ProviderName]
Protocol Provider Name:     BluetoothLE
Protocol Name:              Bluetooth Low Energy
Universal Protocol ID:      {bb7bb05e-5972-42b5-94fc-76eaa7084d49} [DEVPKEY_Aep_ProtocolId]
Protocol Provider Class ID: {0829c308-d361-49f4-828b-506d552029ef} 
...
> pairtool /enum-endpoints

BluetoothLE#BluetoothLEdc:46:28:6a:16:01-20:4c:03:45:07:ca
  1)DEVPKEY_Aep_ContainerId [SYS] (null) DEVPROP_TYPE_GUID 16 {72888bff-567a-54f9-861a-73a3f2df469c} 
...
  30)DEVPKEY_Aep_ProviderName [SYS] (null) DEVPROP_TYPE_STRING 24 "BluetoothLE"
  33)DEVPKEY_Aep_ProtocolId [SYS] (null) DEVPROP_TYPE_GUID 16 {bb7bb05e-5972-42b5-94fc-76eaa7084d49}

Histórico de versão

Versão do Windows Versão do SDK Valor adicionado
1809 17763 DevicePanel

Aplica-se a

Confira também