Partager via


Propriétés d’informations de périphérique

Chaque appareil est associé à des propriétés DeviceInformation que vous pouvez utiliser lorsque vous avez besoin d’informations spécifiques ou lorsque vous construisez un sélecteur d’appareils. Un filtre AQS (Advanced Query Syntax) peut être utilisé pour spécifier ces propriétés et limiter les appareils énumérés avec les caractéristiques spécifiées. Vous pouvez également utiliser ces propriétés pour indiquer les informations que vous souhaitez obtenir pour chaque appareil. Cela vous permet de spécifier les informations sur l’appareil qui sont renvoyées à votre application.

API importantes

Pour plus d’informations sur l’utilisation des propriétés DeviceInformation dans votre sélecteur d’appareils, voir Construire un sélecteur d’appareils. Cette rubrique montre comment requérir des propriétés d’information et décrit certaines propriétés courantes.

Un objet DeviceInformation est composé d’une identité (DeviceInformation.Id), d’un type (DeviceInformation.Kind) et d’un ensemble de propriétés (DeviceInformation.Properties). Toutes les autres propriétés d’un objet DeviceInformation sont dérivées du sac de propriétés Properties. Par exemple, Name est dérivé de System.ItemNameDisplay. Cela signifie que le sac de propriétés contient toujours les informations nécessaires pour déterminer les autres propriétés.

Requête de propriétés

Un objet DeviceInformation possède quelques propriétés de base, telles que Id et Kind, mais la plupart des propriétés sont stockées dans une pochette de propriétés sous Properties. C’est pourquoi le sac de propriétés contient les propriétés utilisées pour obtenir les propriétés du sac de propriétés. Par exemple, utilisez System.ItemNameDisplay pour obtenir la propriété Name. Il s’agit d’une propriété courante et bien connue qui possède un nom convivial. Windows fournit plusieurs de ces noms conviviaux pour faciliter la recherche de propriétés.

Lors de la requête de propriétés, vous n’êtes pas limité aux propriétés courantes portant des noms conviviaux. Vous pouvez spécifier le GUID sous-jacent et l’ID de la propriété (PID) pour demander n’importe quelle propriété disponible, même les propriétés personnalisées fournies par un appareil ou un pilote individuel. Le format pour spécifier une propriété personnalisée est « {GUID} PID » Par exemple : « {744e3bed-3684-4e16-9f8a-07953a8bf2ab} 7 ».

Remarque

Vous trouverez la liste des GUID de propriétés dans le fichier d’en-tête de la clé de propriété du pilote de l’appareil.

Certaines propriétés sont communes à tous les objets DeviceInformationKind, mais la plupart sont propres à un type spécifique. Les sections suivantes répertorient certaines propriétés communes, classées par type de DeviceInformationKind. Pour plus d’informations sur les relations entre les différents types, voir DeviceInformationKind.

Propriétés de DeviceInterface

DeviceInterface est l’objet DeviceInformationKind par défaut et le plus couramment utilisé dans les applications. C’est le type d’objet que vous devez utiliser, sauf si l’API de l’appareil indique un DeviceInformationKind spécifique différent.

Nom Type Description
System.Devices.ContainerId GUID Identité du DeviceInformationKind.DeviceContainer qui contient l’appareil contenant cette DeviceInterface. Vous pouvez transmettre cette valeur à CreateFromIdAsync avec DeviceInformationKind.DeviceContainer pour trouver le conteneur approprié.
System.Devices.InterfaceClassGuid GUID Le GUID de la classe d’interface que cette interface représente.
System.Devices.DeviceInstanceId Chaîne Identité du DeviceInformationKind.Device parent. Vous pouvez transmettre cette valeur à CreateFromIdAsync avec DeviceInformationKind.Device pour trouver l’appareil approprié.
System.Devices.InterfaceEnabled Boolean Indique si l’interface est activée. DeviceInformation.IsEnabled est dérivé de cette propriété.
System.Devices.GlyphIcon Chaîne Chemin d’accès à l’icône du glyphe.
System.Devices.IsDefault Boolean Indique s’il s’agit de l’appareil par défaut pour le System.Devices.InterfaceClassGuid. Cette propriété est principalement utilisée pour les imprimantes. Cela ne fonctionne pas pour l’audio car il existe plusieurs valeurs par défaut pour l’audio. Utilisez GetDefaultAudioRenderId ou GetDefaultAudioCaptureId pour obtenir les valeurs par défaut de l’audio.
System.Devices.Icon Chaîne Chemin de l’icône.
System.ItemNameDisplay Chaîne Le meilleur nom d’affichage pour l’objet appareil.

 

Propriétés d’appareil

Nom Type Description
System.Devices.ClassGuid GUID Classe d’appareil utilisée lors de l’installation de l’appareil. Pour plus d’informations, voir Classes d’installation d’appareils.
System.Devices.CompatibleIds String[] Les identifiants compatibles de l’appareil. Ils sont utilisés lorsque Windows détermine le meilleur pilote à installer sur l’appareil. Pour plus d’informations, voir ID compatible.
System.Devices.ContainerId GUID Identité du DeviceInformationKind.DeviceContainer qui inclut cet appareil. Vous pouvez transmettre cette valeur à CreateFromIdAsync avec DeviceInformationKind.DeviceContainer pour trouver le conteneur approprié.
System.Devices.DeviceCapabilities UInt32 Un OU dans le sens des bits des indicateurs de capacités CM_DEVCAP_X définis dans CfgMgr32.h. Pour plus d’informations, voir DEVPKEY_Device_Capabilities.
System.Devices.DeviceHasProblem Boolean L’appareil présente actuellement un problème et ne fonctionne probablement pas correctement. Cela peut être dû à un pilote obsolète, manquant ou non valide.
System.Devices.DeviceInstanceId Chaîne L’identité de l’appareil. Il s’agit également de la valeur de DeviceInformation.Id.
System.Devices.DeviceManufacturer Chaîne Fabricant de l’appareil
System.Devices.HardwareIds String[] Les identifiants matériels de l’appareil. Windows utilise ces identifiants pour déterminer le meilleur pilote à installer. Les fournisseurs d’appareils peuvent utiliser cette propriété pour identifier leur appareil à partir de leur application. Pour plus d’informations, voir ID matériel.
System.Devices.Parent Chaîne DeviceInformation.Id de l’appareil parent. Il s’agit du parent de connexion, et non du parent DeviceContainer.
System.Devices.Present Boolean Indique si l’appareil est actuellement présent et disponible.
System.ItemNameDisplay Chaîne Le meilleur nom d’affichage pour cet objet appareil. Dans ce cas, ce n’est pas nécessairement le meilleur nom pour les utilisateurs. Un candidat plus probable pour un nom convivial pourrait être trouvé en se référant au System.ItemNameDisplay du DeviceContainer ou du DeviceInterface associé.

 

Propriétés du DeviceContainer

Nom Type Description
System.Devices.Category String[] Une liste de descriptions des catégories auxquelles l’appareil appartient. Cette liste est fournie sous forme de catégories singulières. Par exemple, "Display", "Phone" ou "Audio device".
System.Devices.CategoryIds String[] Contient une liste de catégories auxquelles l’appareil appartient. Par exemple, Audio.Headphone, Display.Monitor, ou Input.Gaming.
System.Devices.CategoryPlural String[] Une liste de descriptions des catégories auxquelles l’appareil appartient. Cette liste est fournie sous forme de catégories plurielles. Par exemple, "Ecrans", "Téléphones" ou "Appareils audio".
System.Devices.CompatibleIds String[] Collection d’identifiants compatibles pour tous les objets DeviceInformationKind.Device enfants.
System.Devices.Connected Boolean Indique si l’appareil est actuellement connecté au système ou non.
System.Devices.GlyphIcon Chaîne Chemin d’accès à l’icône du glyphe.
System.Devices.HardwareIds String[] Collection d’identifiants de matériel pour tous les objets DeviceInformationKind.Device enfants.
System.Devices.Icon Chaîne Chemin de l’icône.
System.Devices.LocalMachine Boolean True si ce DeviceContainer représente le système lui-même, false si l’appareil est externe au système.
System.Devices.Manufacturer Chaîne Fabricant de l’appareil
System.Devices.ModelName Chaîne Nom du modèle du conteneur d’appareil.
System.Devices.Paired Boolean Indique si l’un des objets DeviceInformationKind.Device enfant est un appareil sans fil ou un appareil réseau actuellement appairé avec le système.
System.ItemNameDisplay Chaîne Le meilleur nom d’affichage pour cet appareil.

 

Propriétés de DeviceInterfaceClass

Nom Type Description
System.ItemNameDisplay Chaîne Le meilleur nom d’affichage pour cet appareil.

 

Propriétés de DevicePanel

Nom Type Description
System.Devices.Panel.PanelId Chaîne L’identifiant de l’objet DevicePanel.
System.Devices.Panel.PanelGroup Chaîne L’identifiant du PanelGroup parent.

Propriétés de AssociationEndpoint

Nom Type Description
System.Devices.Aep.AepId Chaîne Identité de cet appareil. Il s’agit également de la valeur de DeviceInformation.Id.
System.Devices.Aep.CanPair Boolean Indique si l’appareil peut être appairé avec le système ou non. DeviceInformationPairing.CanPair est dérivé de cette propriété.
System.Devices.Aep.Category String[] Catégories auxquelles appartient l’appareil. Par exemple, imprimante ou appareil photo.
System.Devices.Aep.ContainerId GUID L’identifiant de l’objet AssociationEndpointContainer parent.
System.Devices.Aep.DeviceAddress Chaîne L’adresse de l’appareil. S’il s’agit d’un appareil réseau, il s’agit de l’adresse IP.
System.Devices.Aep.IsConnected Boolean Indique si l’appareil est actuellement connecté au système.
System.Devices.Aep.IsPaired Boolean Indique si l’appareil est actuellement appairé. DeviceInformationPairing.IsPaired est dérivé de cette propriété.
System.Devices.Aep.IsPresent Boolean Indique si l’appareil est actuellement présent, ce qui signifie que l’appareil est actif et détecté via le réseau ou le protocole sans fil. Une fois qu’un appareil a été appairé avec le système, il est mis en cache. Par la suite, l’appareil sera automatiquement détecté lors de la recherche d’objets AssociationEndpoint. Pour cette raison, vous ne pouvez pas vous contenter de détecter l’appareil à l’aide d’une requête pour savoir s’il est utilisable ou non. C’est pourquoi cette propriété est importante.
System.Devices.Aep.Manufacturer Chaîne Fabricant de l’appareil
System.Devices.Aep.ModelId GUID L’identifiant du modèle de l’appareil.
System.Devices.Aep.ModelName Chaîne Le nom du modèle de l’appareil.
System.Devices.Aep.ProtocolId GUID Indique le protocole utilisé pour détecter cet appareil AssocationEndpoint.
System.Devices.Aep.SignalStrength Int32 L’intensité du signal de l’appareil. Cette propriété ne s’applique qu’à certains protocoles.
System.ItemNameDisplay Chaîne Le meilleur nom d’affichage pour l’appareil.

 

Propriétés de AssociationEndpointContainer

Nom Type Description
System.Devices.AepContainer.Categories String[] Catégories auxquelles appartient l’appareil. Par exemple, imprimante ou appareil photo.
System.Devices.AepContainer.Children String[] Collection d’identifiants pour les objets AssocationEndpoint qui font partie de ce conteneur.
System.Devices.AepContainer.CanPair Boolean Indique si l’un des appareils AssociationEndpoint enfants peut être appairé avec le système ou non. DeviceInformationPairing.CanPair est dérivé de cette propriété.
System.Devices.AepContainer.ContainerId GUID Identité de cet appareil. Il s’agit également de la valeur de DeviceInformation.Id, mais sous forme de GUID.
System.Devices.AepContainer.IsPaired Boolean Indique si l’un des appareils AssociationEndpoint enfants est actuellement appairé. DeviceInformationPairing.IsPaired est dérivé de cette propriété.
System.Devices.AepContainer.IsPresent Boolean Indique si l’un des appareils AssociationEndpoint enfants est actuellement présent, ce qui signifie que l’appareil est actif et détecté via le réseau ou le protocole sans fil. Une fois qu’un appareil a été appairé avec le système, il est mis en cache. Par la suite, l’appareil sera automatiquement détecté lors de la recherche d’objets AssociationEndpoint. Pour cette raison, vous ne pouvez pas vous contenter de détecter l’appareil à l’aide d’une requête pour savoir s’il est utilisable ou non. C’est pourquoi cette propriété est importante.
System.Devices.AepContainer.Manufacturer Chaîne Fabricant de l’appareil
System.Devices.AepContainer.ModelIds String[] Une liste d’identifiants de modèles pour l’appareil. Chaque modèle est un GUID sous forme de chaîne de caractères.
System.Devices.AepContainer.ModelName Chaîne Le nom du modèle de l’appareil.
System.Devices.AepContainer.ProtocolIds GUID[] Une liste des identifiants de protocole qui ont contribué à la construction de cet objet AssociationEndpointContainer. Gardez à l’esprit qu’un appareil AssociationEndpointContainer est créé en rassemblant tous les appareils AssociationEndpoint détectés sur différents protocoles pour le même appareil physique.
System.Devices.AepContainer.SupportedUriSchemes String[] Liste des schémas d’URI de diffusion pris en charge par cet appareil.
System.Devices.AepContainer.SupportsAudio Boolean Indique si cet appareil prend en charge la diffusion audio.
System.Devices.AepContainer.SupportsImages Boolean Indique si cet appareil prend en charge la diffusion d’images.
System.Devices.AepContainer.SupportsVideo Boolean Indique si cet appareil prend en charge la diffusion de vidéos.
System.ItemNameDisplay Chaîne Le meilleur nom d’affichage pour l’appareil.

 

Propriétés de AssociationEndpointService

Nom Type Description
System.Devices.AepService.AepId Chaîne L’identifiant de l’objet AssociationEndpoint parent.
System.Devices.AepService.ContainerId GUID L’identifiant de l’objet AssociationEndpointContainer parent.
System.Devices.AepService.ParentAepIsPaired Boolean Indique si l’objet AssociationEndpoint parent est appairé avec le système.
System.Devices.AepService.ProtocolId GUID Identité du protocole utilisé pour détecter cet appareil.
System.Devices.AepService.ServiceClassId GUID Identité du service représenté par cet appareil.
System.Devices.AepService.ServiceId Chaîne Identité de ce service. Il s’agit également de la valeur de DeviceInformation.Id.
System.ItemNameDisplay Chaîne Le meilleur nom d’affichage pour le service.