Compartir a través de


Propiedades de información de dispositivo

Cada dispositivo tiene asociadas propiedades DeviceInformation que puede usar cuando necesite información específica o al crear un selector de dispositivos. Se puede usar un filtro de sintaxis de consulta avanzada (AQS) para especificar estas propiedades y limitar los dispositivos enumerados con los rasgos especificados. También puede usar estas propiedades para indicar qué información desea devolver para cada dispositivo. Esto le permite especificar la información del dispositivo que se devuelve a la aplicación.

API importantes

Para obtener más información sobre el uso de las propiedades DeviceInformation en el selector de dispositivos, consulte Compilación de un selector de dispositivos. En este tema se muestra cómo solicitar propiedades de información y se describen algunas propiedades comunes.

Un objeto DeviceInformation se compone de una identidad (DeviceInformation.Id), un tipo (DeviceInformation.Kind) y un contenedor de propiedades (DeviceInformation.Properties). Todas las demás propiedades de un objeto DeviceInformation se derivan del contenedor de propiedades Properties. Por ejemplo, Name se deriva de System.ItemNameDisplay. Esto significa que el contenedor de propiedades siempre contiene la información necesaria para determinar las demás propiedades.

Solicitar propiedades

Un objeto DeviceInformation tiene algunas propiedades básicas, como Id y Kind, pero la mayoría de las propiedades se almacenan en un contenedor de propiedades en Propiedades. Debido a esto, el contenedor de propiedades contiene las propiedades usadas para obtener las propiedades fuera del contenedor de propiedades. Por ejemplo, use System.ItemNameDisplay para obtener la propiedad Name. Este es un caso de una propiedad común y conocida que tiene un nombre descriptivo. Windows proporciona varios de estos nombres fáciles de usar para facilitar la consulta de propiedades.

Al solicitar propiedades, no se limita a las propiedades comunes con nombres descriptivos. Puede especificar el GUID subyacente y el identificador de propiedad (PID) para solicitar cualquier propiedad que esté disponible, incluso propiedades personalizadas proporcionadas por un dispositivo o controlador individuales. El formato para especificar una propiedad personalizada es "{GUID} PID". Por ejemplo, "{744e3bed-3684-4e16-9f8a-07953a8bf2ab} 7".

Nota:

Puede encontrar la lista de GUID de propiedad en el archivo de encabezado de clave de propiedad del dispositivo del controlador de dispositivo.

Algunas propiedades son comunes en todos los objetos DeviceInformationKind, pero la mayoría son exclusivas de un tipo específico. En las secciones siguientes se enumeran algunas propiedades comunes ordenadas por DeviceInformationKind individuales. Para obtener más información sobre cómo se relacionan los diferentes tipos entre sí, consulte DeviceInformationKind.

Propiedades DeviceInterface

DeviceInterface es el objeto DeviceInformationKind predeterminado y más común que se usa en escenarios de aplicación. Este es el tipo de objeto que debe usar a menos que la API del dispositivo indique un DeviceInformationKind específico diferente.

Nombre Escribir Descripción
System.Devices.ContainerId GUID Identidad de DeviceInformationKind.DeviceContainer que contiene el Dispositivo que contiene esta DeviceInterface. Puede pasar este valor a CreateFromIdAsync junto con DeviceInformationKind.DeviceContainer para buscar el contenedor adecuado.
System.Devices.InterfaceClassGuid GUID El GUID de la clase de interfaz que representa esta interfaz.
System.Devices.DeviceInstanceId Cadena Identidad del dispositivo primario DeviceInformationKind.Device. Puede pasar este valor a CreateFromIdAsync junto con DeviceInformationKind.Device para buscar el dispositivo adecuado.
System.Devices.InterfaceEnabled Booleano Indica si la interfaz se encuentra habilitada. DeviceInformation.IsEnabled se deriva de esta propiedad.
System.Devices.GlyphIcon Cadena Ruta de acceso del icono para el glifo.
System.Devices.IsDefault Booleano Indica si este es el dispositivo predeterminado para System.Devices.InterfaceClassGuid. Se usa principalmente para impresoras. No funciona para audio, ya que hay varios valores predeterminados de audio. Use GetDefaultAudioRenderId o GetDefaultAudioCaptureId para obtener los valores predeterminados de audio.
System.Devices.Icon Cadena Ruta de icono.
System.ItemNameDisplay Cadena Mejor nombre para mostrar del objeto de dispositivo.

 

Propiedades de dispositivo

Nombre Escribir Descripción
System.Devices.ClassGuid GUID Clase de dispositivo usada durante la instalación del dispositivo. Para obtener más información, vea Clases de configuración de dispositivos.
System.Devices.CompatibleIds String[] Identificadores compatibles del dispositivo. Se usan cuando Windows determina el mejor controlador para instalar en el dispositivo. Para obtener más información, consulte ID compatible.
System.Devices.ContainerId GUID Identidad del DeviceInformationKind.DeviceContainer que incluye este dispositivo. Puede pasar este valor a CreateFromIdAsync junto con DeviceInformationKind.DeviceContainer para buscar el contenedor adecuado.
System.Devices.DeviceCapabilities UInt32 El OR bit a bit de las marcas de funcionalidades de CM_DEVCAP_X se define en CfgMgr32.h. Para obtener más información, consulte DEVPKEY_Device_Capabilities.
System.Devices.DeviceHasProblem Booleano El dispositivo tiene actualmente un problema y es probable que no funcione correctamente. Esto puede deberse a un controlador obsoleto, que falta o no es válido.
System.Devices.DeviceInstanceId Cadena Identidad del dispositivo. Este es también el valor de DeviceInformation.Id.
System.Devices.DeviceManufacturer Cadena Fabricante del dispositivo.
System.Devices.HardwareIds String[] Identificadores de hardware del dispositivo. Windows usa estos identificadores al determinar el mejor controlador para instalar. Los proveedores de dispositivos pueden usar esta propiedad para identificar su dispositivo desde su aplicación. Para obtener más información, consulte Identificador de hardware.
System.Devices.Parent Cadena El DeviceInformation.Id del dispositivo primario. Este es el elemento primario de la conexión, no el elemento primario DeviceContainer.
System.Devices.Present Booleano Indica si el dispositivo está actualmente presente y disponible.
System.ItemNameDisplay Cadena Mejor nombre para mostrar de este objeto de dispositivo. En este caso, este no es necesariamente el mejor nombre para los usuarios. Se puede encontrar un candidato más probable para un nombre descriptivo haciendo referencia a System.ItemNameDisplay del DeviceContainer o DeviceInterface asociado.

 

Propiedades DeviceContainer

Nombre Escribir Descripción
System.Devices.Category String[] Lista de descripciones de las categorías a las que pertenece el dispositivo. Esta lista se proporciona como categorías singulares. Por ejemplo, "Pantalla", "Teléfono" o "Dispositivo de audio".
System.Devices.CategoryIds String[] Contiene una lista de categorías a las que pertenece este dispositivo. Por ejemplo, Audio.Headphone, Display.Monitor o Input.Gaming.
System.Devices.CategoryPlural String[] Lista de descripciones de las categorías a las que pertenece el dispositivo. Esta lista se proporciona como categorías plurales. Por ejemplo, "Pantallas", "Teléfonos" o "Dispositivos de audio".
System.Devices.CompatibleIds String[] Colección de identificadores compatibles para todos los objetos DeviceInformationKind.Device secundarios.
System.Devices.Connected Booleano Indica si el dispositivo está conectado actualmente al sistema o no.
System.Devices.GlyphIcon Cadena Ruta de acceso del icono para el glifo.
System.Devices.HardwareIds String[] Colección de identificadores de hardware para todos los objetos DeviceInformationKind.Device secundarios.
System.Devices.Icon Cadena Ruta de icono.
System.Devices.LocalMachine Booleano True si el DeviceContainer representa el propio sistema, false si el dispositivo es externo al sistema.
System.Devices.Manufacturer Cadena Fabricante del dispositivo.
System.Devices.ModelName Cadena Nombre del modelo del contenedor del dispositivo.
System.Devices.Paired Booleano Indica si alguno de los objetos DeviceInformationKind.Device secundarios son dispositivos inalámbricos o de red que están emparejados actualmente con el sistema.
System.ItemNameDisplay Cadena Mejor nombre para mostrar de este dispositivo.

 

Propiedades DeviceInterfaceClass

Nombre Escribir Descripción
System.ItemNameDisplay Cadena Mejor nombre para mostrar de este dispositivo.

 

Propiedades DevicePanel

Nombre Escribir Descripción
System.Devices.Panel.PanelId Cadena Identificador del objeto DevicePanel.
System.Devices.Panel.PanelGroup Cadena Identificador del PanelGroup principal.

Propiedades AssociationEndpoint

Nombre Escribir Descripción
System.Devices.Aep.Aep.AepId Cadena Identidad de este dispositivo. Este es también el valor de DeviceInformation.Id.
System.Devices.Aep.CanPair Booleano Indica si el dispositivo se puede emparejar con el sistema o no. DeviceInformationPairing.CanPair se deriva de esta propiedad.
System.Devices.Aep.Category String[] Categorías de las que forma parte el dispositivo. Por ejemplo, impresora o cámara.
System.Devices.Aep.ContainerId GUID Identificador del objeto AssociationEndpointContainer primario.
System.Devices.Aep.DeviceAddress Cadena Dirección del dispositivo. Si el dispositivo es un dispositivo de red, esta es la dirección IP.
System.Devices.Aep.IsConnected Booleano Indica si el dispositivo está conectado actualmente al sistema.
System.Devices.Aep.Is Devices Booleano Indica si el dispositivo está emparejado actualmente. DeviceInformationPairing.IsPaired se deriva de esta propiedad.
System.Devices.Aep.IsPresent Booleano Indica si el dispositivo está presente actualmente, lo que significa que el dispositivo está activo y detectado a través de la red o el protocolo inalámbrico. Una vez que un dispositivo se ha emparejado con el sistema, el dispositivo se almacena en caché. Después de esto, el dispositivo se detectará automáticamente al consultar objetos AssociationEndpoint. Debido a esto, no puede confiar en detectar simplemente el dispositivo con una consulta para indicar si actualmente se puede usar o no. Por eso es importante esta propiedad.
System.Devices.Aep.Manufacturer Cadena Fabricante del dispositivo.
System.Devices.Aep.ModelId GUID Identificador de modelo del dispositivo.
System.Devices.Aep.ModelName Cadena Nombre del modelo del dispositivo.
System.Devices.Aep.ProtocolId GUID Indica el protocolo usado para detectar este dispositivo AssocationEndpoint.
System.Devices.Aep.SignalStrength Int32 Intensidad de la señal del dispositivo. Esta propiedad solo es aplicable a algunos protocolos.
System.ItemNameDisplay Cadena Mejor nombre para mostrar del dispositivo.

 

Propiedades AssociationEndpointContainer

Nombre Escribir Descripción
System.Devices.AepContainer.Categories String[] Categorías de las que forma parte el dispositivo. Por ejemplo, impresora o cámara.
System.Devices.AepContainer.Children String[] Colección de identificadores para los objetos AssocationEndpoint que forman parte de este contenedor.
System.Devices.AepContainer.CanPair Booleano Indica si uno de los dispositivos AssociationEndpoint secundarios se puede emparejar con el sistema o no. DeviceInformationPairing.CanPair se deriva de esta propiedad.
System.Devices.AepContainer.ContainerId GUID Identidad de este dispositivo. Este es también el valor de DeviceInformation.Id, pero en forma GUID.
System.Devices.AepContainer.IsTained Booleano Indica si uno de los dispositivos AssociationEndpoint secundarios está emparejado actualmente. DeviceInformationPairing.IsPaired se deriva de esta propiedad.
System.Devices.AepContainer.IsPresent Booleano Indica si uno de los dispositivos AssociationEndpoint secundarios está presente actualmente, lo que significa que el dispositivo está activo y detectado a través de la red o el protocolo inalámbrico. Una vez que un dispositivo se ha emparejado con el sistema, el dispositivo se almacena en caché. Después de esto, el dispositivo se detectará automáticamente al consultar objetos AssociationEndpoint. Debido a esto, no puede confiar en detectar simplemente el dispositivo con una consulta para indicar si actualmente se puede usar o no. Por eso es importante esta propiedad.
System.Devices.AepContainer.Manufacturer Cadena Fabricante del dispositivo.
System.Devices.AepContainer.ModelIds String[] Lista de identificadores de modelo para el dispositivo. Cada modelo es un GUID en forma de cadena.
System.Devices.AepContainer.ModelName Cadena Nombre del modelo del dispositivo.
System.Devices.AepContainer.ProtocolIds GUID[] Lista de identificadores de protocolo que han contribuido a la creación de este objeto AssociationEndpointContainer. Tenga en cuenta que se crea un dispositivo AssociationEndpointContainer mediante la recopilación de todos los dispositivos AssociationEndpoint detectados en distintos protocolos para el mismo dispositivo físico.
System.Devices.AepContainer.SupportedUriSchemes String[] Lista de esquemas de URI de conversión admitidos por este dispositivo.
System.Devices.AepContainer.SupportsAudio Booleano Indica si este dispositivo admite la conversión de audio.
System.Devices.AepContainer.SupportsImages Booleano Indica si este dispositivo admite la conversión de imágenes.
System.Devices.AepContainer.SupportsVideo Booleano Indica si este dispositivo admite la conversión de vídeo.
System.ItemNameDisplay Cadena Mejor nombre para mostrar del dispositivo.

 

Propiedades AssociationEndpointService

Nombre Escribir Descripción
System.Devices.AepService.AepId Cadena Identificador del objeto AssociationEndpoint primario.
System.Devices.AepService.ContainerId GUID Identificador del objeto AssociationEndpointContainer primario.
System.Devices.AepService.ParentAepIsWp Booleano Indica si el objeto AssociationEndpoint primario está emparejado con el sistema.
System.Devices.AepService.ProtocolId GUID Identidad del protocolo usado para detectar este dispositivo.
System.Devices.AepService.ServiceClassId GUID Identidad del servicio representado por este dispositivo.
System.Devices.AepService.ServiceId Cadena Identidad de este servicio. Este es también el valor de DeviceInformation.Id.
System.ItemNameDisplay Cadena Mejor nombre para mostrar del servicio.