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