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

Chaque appareil a associé DeviceInformation propriétés que vous pouvez utiliser lorsque vous avez besoin d’informations spécifiques ou lorsque vous créez un sélecteur d’appareil. 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 retourner pour chaque appareil. Cela vous permet de spécifier les informations d’appareil retournées à votre application.

Pour plus d’informations sur l’utilisation des propriétés DeviceInformation dans votre sélecteur d’appareil, consultez Builder un sélecteur d’appareil. Cette rubrique montre comment demander des propriétés d’informations 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 conteneur de propriétés (DeviceInformation.Properties). Toutes les autres propriétés d’un objet DeviceInformation sont dérivées du conteneur 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.

Demande de propriétés

Un objet DeviceInformation a des propriétés de base, tels que Id et Kind, mais la plupart des propriétés sont stockées dans un conteneur de propriétés sous Properties. De ce fait, le sac de propriétés contient les propriétés utilisées pour extraire les propriétés du sac de propriétés. Par exemple, utilisez System.ItemNameDisplay pour sourcer la propriété Name . Il s’agit d’une propriété commune et connue qui a un nom convivial. Windows fournit plusieurs de ces noms conviviaux pour faciliter l’interrogation des propriétés.

Lorsque vous demandez des propriétés, vous ne vous limitez pas seulement aux propriétés courantes portant des noms faciles à comprendre. Vous pouvez spécifier le GUID sous-jacent et l’ID de propriété (PID) pour demander toute propriété disponible, même les propriétés personnalisées fournies par un périphérique ou un pilote individuel. Le format de spécification d’une propriété personnalisée est «{GUID} PID ». Par exemple : «{744e3bed-3684-4e16-9f8a-07953a8bf2ab} 7 ».

Note

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

Certaines propriétés sont communes à tous les objets DeviceInformationKind , mais la plupart sont uniques à un type spécifique. Les sections suivantes répertorient certaines propriétés courantes triées par valeur individuelle de DeviceInformationKind. Pour plus d’informations sur la façon dont les différents types se rapportent les uns aux autres, consultez DeviceInformationKind.

Propriétés de DeviceInterface

DeviceInterface est l’objet DeviceInformationKind par défaut et le plus courant utilisé dans les scénarios d’application. Il s’agit du type d’objet que vous devez utiliser, sauf si l’API de l’appareil indique un autre DeviceInformationKind spécifique.

Name Catégorie Description
System.Devices.ContainerId GUID Identité de DeviceInformationKind.DeviceContainer qui contient l’appareil contenant cet DeviceInterface. Vous pouvez transmettre cette valeur à CreateFromIdAsync avec DeviceInformationKind.DeviceContainer pour rechercher le conteneur approprié.
System.Devices.InterfaceClassGuid GUID GUID de la classe d’interface que cette interface représente.
System.Devices.DeviceInstanceId String Identité du parent DeviceInformationKind.Device. Vous pouvez transmettre cette valeur à CreateFromIdAsync avec DeviceInformationKind.Device pour rechercher 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 String Chemin de l’icône pour le glyphe.
System.Devices.IsDefault Boolean Indique s’il s’agit de l’appareil par défaut pour System.Devices.InterfaceClassGuid. Ceci est principalement utilisé pour les imprimantes. Cela ne fonctionne pas pour l’audio, car il existe plusieurs valeurs par défaut audio. Utilisez GetDefaultAudioRenderId ou GetDefaultAudioCaptureId pour obtenir les valeurs audio par défaut.
System.Devices.Icon String Chemin d’accès à l’icône.
System.ItemNameDisplay String Nom complet le mieux adapté à l’objet de l’appareil.

 

Propriétés d’appareil

Name Catégorie Description
System.Devices.ClassGuid GUID Classe d’appareil utilisée lors de l’installation de l’appareil. Pour plus d’informations, consultez Classes de configuration d’appareil.
System.Devices.CompatibleIds Chaîne[] Les identifiants compatibles de l’appareil. Ceux-ci sont utilisés lorsque Windows détermine le meilleur pilote à installer sur l’appareil. Pour plus d’informations, consultez l’ID compatible.
System.Devices.ContainerId GUID Identité de DeviceInformationKind.DeviceContainer qui inclut cet appareil. Vous pouvez transmettre cette valeur à CreateFromIdAsync avec DeviceInformationKind.DeviceContainer pour rechercher le conteneur approprié.
System.Devices.DeviceCapabilities UInt32 Un OU binaire des indicateurs de capacité CM_DEVCAP_X définis dans CfgMgr32.h. Pour plus d’informations, consultez DEVPKEY_Device_Capabilities.
System.Devices.DeviceHasProblem Boolean L’appareil a 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 String Identité de l’appareil. Il s’agit également de la valeur de DeviceInformation.Id.
System.Devices.DeviceManufacturer String Fabricant de l’appareil.
System.Devices.HardwareIds Chaîne[] Les identifiants matériels de l’appareil. Windows utilise ces ID lors de la détermination du meilleur pilote à installer. Les fournisseurs d’appareils peuvent utiliser cette propriété pour identifier leur appareil à partir de leur application. Pour plus d’informations, consultez ID matériel.
System.Devices.Parent String L’identifiant 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 String Le nom d’affichage le plus approprié pour cet objet de périphérique. Dans ce cas, ce n’est pas nécessairement le meilleur nom pour les utilisateurs. Un candidat plus probable pour un nom convivial peut être trouvé en référençant System.ItemNameDisplay de deviceContainer ou DeviceInterface associé.

 

Propriétés DeviceContainer

Name Catégorie Description
System.Devices.Category Chaîne[] Liste des descriptions des catégories auxquelles appartient l’appareil. Cette liste est fournie sous forme de catégories singulières. Par exemple, « Display », « Phone » ou « Audio device ».
System.Devices.CategoryIds Chaîne[] Contient une liste de catégories auxquelles appartient cet appareil. Par exemple, Audio.Headphone, Display.Monitor ou Input.Gaming.
System.Devices.CategoryPlural Chaîne[] Liste des descriptions des catégories auxquelles appartient l’appareil. Cette liste est fournie sous forme de catégories plurielles. Par exemple, « Affichages », « Téléphones » ou « Appareils audio ».
System.Devices.CompatibleIds Chaîne[] Ensemble des ID compatibles de tous les objets enfants DeviceInformationKind.Device.
System.Devices.Connected Boolean Indique si l’appareil est actuellement connecté au système ou non.
System.Devices.GlyphIcon String Chemin de l’icône pour le glyphe.
System.Devices.HardwareIds Chaîne[] La collection des identifiants matériels de tous les objets enfants DeviceInformationKind.Device.
System.Devices.Icon String Chemin d’accès à 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.
Système.Périphériques.Fabricant String Fabricant de l’appareil.
System.Devices.ModelName String Nom du modèle du conteneur d’appareil.
System.Devices.Paired Boolean Indique si l’un des objets enfants DeviceInformationKind.Device correspond à un appareil sans fil ou à un appareil réseau actuellement jumelé au système.
System.ItemNameDisplay String Le meilleur nom d’affichage pour cet appareil.

 

Propriétés de DeviceInterfaceClass

Name Catégorie Description
System.ItemNameDisplay String Le meilleur nom d’affichage pour cet appareil.

 

Propriétés DevicePanel

Name Catégorie Description
System.Devices.Panel.PanelId String Identificateur de l’objet DevicePanel .
System.Devices.Panel.PanelGroup String Identificateur du PanelGroup parent.

Propriétés de AssociationEndpoint

Name Catégorie Description
System.Devices.Aep.AepId String 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 associé au système ou non. DeviceInformationPairing.CanPair est dérivée de cette propriété.
System.Devices.Aep.Category Chaîne[] Catégories auxquelles l’appareil fait partie. Par exemple, imprimante ou appareil photo.
System.Devices.Aep.ContainerId GUID ID de l’objet AssociationEndpointContainer parent.
System.Devices.Aep.DeviceAddress String Adresse de l’appareil. Si l’appareil est 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 associé. 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écouvert sur le réseau ou le protocole sans fil. Une fois qu’un appareil a été associé au système, l’appareil est mis en cache. Après cela, l’appareil sera automatiquement détecté lors de la requête d’objets AssociationEndpoint. De ce fait, vous ne pouvez pas vous contenter de détecter l’appareil au moyen d’une requête pour déterminer s’il est actuellement utilisable ou non. C’est pourquoi cette propriété est importante.
System.Devices.Aep.Manufacturer String Fabricant de l’appareil.
System.Devices.Aep.ModelId GUID ID de modèle de l’appareil.
System.Devices.Aep.ModelName String Nom du modèle de l’appareil.
System.Devices.Aep.ProtocolId GUID Indique le protocole utilisé pour découvrir cet appareil AssocationEndpoint .
System.Devices.Aep.SignalStrength Int32 Puissance du signal de l’appareil. Cette propriété s’applique uniquement à certains protocoles.
System.ItemNameDisplay String Le meilleur nom d’affichage de l’appareil.

 

Propriétés de l’AssociationEndpointContainer

Name Catégorie Description
System.Devices.AepContainer.Categories Chaîne[] Catégories auxquelles l’appareil fait partie. Par exemple, imprimante ou appareil photo.
System.Devices.AepContainer.Children Chaîne[] Collection d’ID 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 associé au système ou non. DeviceInformationPairing.CanPair est dérivée 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 GUID.
System.Devices.AepContainer.IsPaired Boolean Indique si l’un des appareils AssociationEndpoint enfants est actuellement associé. DeviceInformationPairing.IsPaired est dérivé de cette propriété.
System.Devices.AepContainer.IsPresent Boolean Indique si l’un des appareils enfants AssociationEndpoint est actuellement présent, c’est-à-dire que l’appareil est en ligne et détecté sur le réseau ou via le protocole sans fil. Une fois qu’un appareil a été associé au système, l’appareil est mis en cache. Après cela, l’appareil sera automatiquement détecté lors de la requête d’objets AssociationEndpoint. De ce fait, vous ne pouvez pas vous contenter de détecter l’appareil au moyen d’une requête pour déterminer s’il est actuellement utilisable ou non. C’est pourquoi cette propriété est importante.
System.Devices.AepContainer.Manufacturer String Fabricant de l’appareil.
System.Devices.AepContainer.ModelIds Chaîne[] Liste des ID de modèle pour l’appareil. Chaque modèle est un GUID sous forme de chaîne.
System.Devices.AepContainer.ModelName String Nom du modèle de l’appareil.
System.Devices.AepContainer.ProtocolIds GUID[] Liste des ID de protocole qui ont contribué à la création de cet objet AssociationEndpointContainer . N’oubliez pas qu’un appareil AssociationEndpointContainer est créé en collectant tous les appareils AssociationEndpoint découverts sur différents protocoles pour le même appareil physique.
System.Devices.AepContainer.SupportedUriSchemes Chaîne[] 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 le cast 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 le cast vidéo.
System.ItemNameDisplay String Le meilleur nom d’affichage de l’appareil.

 

Propriétés de AssociationEndpointService

Name Catégorie Description
System.Devices.AepService.AepId String L’identificateur de l’objet parent AssociationEndpoint.
System.Devices.AepService.ContainerId GUID Identificateur de l’objet parent AssociationEndpointContainer.
System.Devices.AepService.ParentAepIsPaired Boolean Indique si l’objet AssociationEndpoint parent est associé au système.
System.Devices.AepService.ProtocolId GUID Identité du protocole utilisé pour découvrir cet appareil.
System.Devices.AepService.ServiceClassId GUID Identité du service représenté par cet appareil.
System.Devices.AepService.ServiceId String Identité de ce service. Il s’agit également de la valeur de DeviceInformation.Id.
System.ItemNameDisplay String Nom complet le mieux adapté au service.