Partager via


DeviceInformationKind Énumération

Définition

Définit des constantes qui spécifient un type d’objet 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
Héritage
DeviceInformationKind
Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v1.0)

Champs

AssociationEndpoint 5

L’objet DeviceInformation représente un point de terminaison d’association d’appareil (AEP). Les AEPs représentent généralement un appareil découvert via un protocole sans fil ou réseau. Certains de ces points de terminaison peuvent être utilisés sans avoir à appairer au préalable l’appareil. Utilisez CanPair pour déterminer si un appareil prend en charge l’appairage et IsPaired pour déterminer si un appareil est déjà associé au système. Seuls les objets AssociationEndpoint ont une valeur non NULL pour l’appairage. Pour plus d’informations sur le jumelage sur un réseau, consultez Énumérer des appareils sur un réseau. Un objet AssociationEndpoint est un enfant d’un seul objet AssociationEndpointContainer et peut contenir au moins 0 objet AssociationEndpointService .

Id de cet objet.

AssociationEndpointContainer 6

L’objet DeviceInformation représente un conteneur de point de terminaison d’association (AEP). Un objet AssociationEndpointContainer représente un seul appareil physique qui peut avoir plusieurs objets AssociationEndpoint associés. Par exemple, si un téléviseur prend en charge deux protocoles réseau différents, associationEndpointContainer est la télévision. Il aurait également deux objets AssociationEndpoint pour représenter chaque protocole.

L’ID de cet objet est le GUID du conteneur AEP sous forme de chaîne.

AssociationEndpointProtocol 9

L’objet DeviceInformation représente un protocole par le biais duquel les points de terminaison d’association (AEPs) peuvent être découverts. Vous pouvez étendre la découverte d’un point de terminaison d’association à des protocoles spécifiques à l’aide de l’ID de protocole. Par exemple, le sélecteur suivant étend la découverte à Bluetooth LE ou Bluetooth Classic.

Pour plus d’informations, consultez Notes .

AssociationEndpointService 7

L’objet DeviceInformation représente un service de point de terminaison d’association (AEP). Un objet AssociationEndpointService représente un contrat de service fonctionnel exposé par l’appareil. Tous les protocoles ne prennent pas en charge les services AEP. Un AssociationEndpointService peut avoir un seul objet AssociationEndpointContainer parent.

Id de cet objet sous forme de chaîne.

Device 3

L’objet DeviceInformation représente un objet d’appareil. Cela peut également être appelé devnode. Ces appareils sont des objets qui représentent une partie des fonctionnalités de l’appareil et qui ont éventuellement des pilotes chargés dessus. Lorsqu’un appareil physique est associé à des fenêtres, plusieurs objets Device sont créés pour celui-ci. Un appareil contient au moins 0 objet DeviceInterface , est un enfant d’un objet DeviceContainer et est lié à 0 ou 1 objets AssociationEndpoint .

L’ID de cet objet est l’ID instance de l’appareil pour cet objet.

DeviceContainer 2

L’objet DeviceInformation représente un conteneur d’appareils. Les objets DeviceContainer décrivent une collection d’objets d’appareil qui existent dans le même appareil physique. Par exemple, une imprimante multi-fonction peut avoir plusieurs périphériques différents inclus, mais ils existent tous dans le cadre de l’objet DeviceContainer parent.

L’ID de cet objet est le GUID du conteneur d’appareils sous forme de chaîne.

DeviceInterface 1

L’objet DeviceInformation représente une interface d’appareil PnP. Ceux-ci sont exposés par les pilotes de périphérique pour permettre à une application de communiquer avec l’appareil, généralement à l’aide de ioctls (contrôles de sortie d’entrée) de l’appareil.

Ce type d’objet DeviceInformation contient toutes les propriétés de l’objet PnP DeviceInterface , ainsi que certaines propriétés de l’objet PnP DeviceContainer parent. Cette combinaison de propriétés peut être présentée à l’utilisateur lorsque l’utilisateur doit sélectionner un appareil pour terminer un scénario d’application. Un objet DeviceInterface ne peut être qu’un enfant d’un seul objet DeviceContainer .

Il s’agit du DeviceInformationKind par défaut lors de l’énumération d’appareils sans spécifier de type spécifique.

L’ID de cet objet est l’ID de l’interface de l’appareil ou le chemin d’accès de l’interface de l’appareil.

DeviceInterfaceClass 4

L’objet DeviceInformation représente une classe d’interface d’appareil. Chaque objet DeviceInterface appartient à un certain DeviceInterfaceClass. Ceci est similaire à une définition de contrat. Ces contrats sont représentés avec un ID et des propriétés, comme tous les autres objets PnP. Les objets DeviceInterfaceClass contiennent peu d’informations qu’un identificateur unique et éventuellement un nom.

L’ID de cet objet est le GUID de la classe d’interface d’appareil sous forme de chaîne.

DevicePanel 8

L’objet DeviceInformation représente une seule face physique d’un boîtier d’appareil.

Id de cet objet sous forme de chaîne.

Unknown 0

L’objet est d’un type inconnu. Cette valeur n'est pas utilisée.

Remarques

Une valeur DeviceInformationKind peut être passée aux différentes API d’énumération pour indiquer le type spécifique d’appareil que vous souhaitez énumérer. Dans la plupart des scénarios, vous recevez deviceInformation du sélecteur d’appareil. Pour savoir comment énumérer des types spécifiques d’appareils à l’aide de DeviceInformationKind, consultez Énumérer des appareils.

Le diagramme suivant montre comment les différents types d’appareils interagissent entre eux. Elle indique également les propriétés qui lient les relations. Pour des raisons de performances, la plupart des connexions de relation vont dans une seule direction. L’exception à cela est AepContainer. Il contient une liste de ses objets enfants grâce à System.Devices.AepContainer.Children.

Relations DeviceInformationKind

Chaque ligne du diagramme ci-dessus représente la façon dont les relations entre les types d’objets sont définies. Un objet principal a un ID d’objet principal. Ensuite, il existe une propriété sur l’objet associé dont la valeur est égale à l’ID de l’objet principal.

Par exemple, il existe 0 à N objets DeviceInterface pour un DeviceInterfaceClass. Il existe donc 0 à N objets DeviceInterface de la classe d’interface d’appareil représentée par l’objet DeviceInterfaceClass . L’ID d’objet principal de l’objet DeviceInterfaceClass est un GUID de classe d’interface d’appareil. Les objets DeviceInterface ont à leur tour une propriété nommée DEVPKEY_DeviceInterface_ClassGuid. La valeur de cette propriété (un GUID) indique la classe d’interface d’appareil de l’objet DeviceInterface (autrement dit, de quel type d’interface il s’agit). Et bien sûr, cette valeur est égale à l’ID d’objet principal de l’objet DeviceInterfaceClass associé.

Voyons d’autres exemples. Voici un exemple de la façon dont les objets d’appareil sont mappés sur une webcam. Vous pouvez voir un conteneur, quatre nœuds d’appareil (devnodes en abrégé), et le devnode développé a cinq interfaces d’appareil (dont trois sont activées).

Objets d’appareil pour une webcam

En examinant les propriétés de l’interface d’appareil sélectionnée (mise en surbrillance), vous pouvez voir comment les propriétés sont utilisées pour lier le modèle objet. Les noms de clés affichés sont en fait les versions Win32 (par exemple , DEVPKEY_DeviceInterface_ClassGuid). Dans le Windows Runtime (WinRT), les propriétés sont mappées par le système de propriétés (voir Appareils (Système de propriétés Windows)). L’équivalent de DEVPKEY_DeviceInterface_ClassGuid est Donc System.Device.InterfaceClassGuid.

X

Par exemple, si vous connaissez un ID de classe d’interface d’appareil (également appelé GUID de classe), vous pouvez trouver l’objet de classe d’interface d’appareil avec cet ID (qui est son ID principal). Dans l’illustration ci-dessous, vous pouvez voir qu’il s’agit simplement d’une classe d’interface d’appareil Caméras ; et vous pouvez voir plus d’informations sur cette classe d’interface d’appareil. Toute interface d’appareil qui se trouve dans cette classe d’interface d’appareil aura une valeur de propriété DEVPKEY_DeviceInterface_ClassGuid égale au GUID de classe indiqué ci-dessous.

X

Voici un autre exemple : cette fois d’un casque Bluetooth. Le devnode est sélectionné. L’ID AEP auquel il est mappé est mis en évidence pour l’objet de point de terminaison d’association. Cela illustre la relation entre les objets Device et les objets Aep . DEVPKEY_Aep_AepId (Win32) ou System.Devices.Aep.Aep.AepId (WinRT) permet de faire correspondre ces deux types d’objets ensemble. Le devnode aura une valeur de propriété DEVPKEY_Aep_AepId s’il provient d’un appareil jumelé. Vous pouvez ensuite utiliser cette valeur pour rechercher un objet Aep dont l’ID principal correspond à la valeur.

X

Voici un exemple de devnode qui montre à quel panneau il appartient, ainsi que son ID. Le panneau représente les ports USB sur le dessus du châssis d’un ordinateur personnel. Cela illustre la relation entre DevicePanel (en haut de l’illustration) et Device (ou devnode ; en bas de l’illustration). Les devnodes et les interfaces d’appareil peuvent avoir une valeur de propriété System.Devices.Panel.PanelId . Vous pouvez ensuite utiliser cette valeur pour rechercher un objet DevicePanel dont l’ID principal correspond à la valeur.

X

Pour la constante AssociationEndpointProtocol , un exemple de chaîne de sélecteur AQS est :

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

System.Devices.Aep.ProtocolId est le nom du protocole dans propsys ; et DEVPKEY_Aep_ProtocolId est le DEVPKEY Win32.

Voici un exemple représentatif de l’énumération d’un protocole et de la façon dont il correspond aux propriétés AEP (avec des annotations entre crochets).

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

Historique des versions

Version de Windows Version du SDK Valeur ajoutée
1809 17763 DevicePanel

S’applique à

Voir aussi