Propiedades de información de dispositivo

Cada dispositivo tiene asociadas propiedades DeviceInformation que puede usar cuando necesite información específica o cuando cree 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.

Para obtener más información sobre el uso de propiedades DeviceInformation en el selector de dispositivos, consulta Build a device selector. 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 de la bolsa 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.

Solicitud de 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 Properties. Debido a esto, la bolsa de propiedades contiene las propiedades utilizadas para extraer las propiedades de la propia bolsa 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 las propiedades.

Al solicitar propiedades, no está limitado a las propiedades comunes con nombres fáciles de usar. 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".

Note

Puede encontrar la lista de GUID de las propiedades en el archivo de encabezado de las claves de propiedad del dispositivo del controlador del 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í, consulta DeviceInformationKind.

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

Name Tipo Descripción
System.Devices.ContainerId Identificador Único Global (GUID) Identidad del DeviceInformationKind.DeviceContainer que contiene el Device que contiene esta DeviceInterface. Puede pasar este valor a CreateFromIdAsync junto con DeviceInformationKind.DeviceContainer para buscar el contenedor adecuado.
System.Devices.InterfaceClassGuid Identificador Único Global (GUID) El GUID de la clase de interfaz que representa esta interfaz.
System.Devices.DeviceInstanceId String 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 está habilitada. DeviceInformation.IsEnabled se deriva de esta propiedad.
System.Devices.GlyphIcon String Ruta de acceso del icono para el glifo.
System.Devices.IsDefault Booleano Indica si este es el dispositivo predeterminado para System.Devices.InterfaceClassGuid. Esto se usa principalmente para impresoras. Esto no funciona para el audio, ya que hay varios valores predeterminados de audio. Use GetDefaultAudioRenderId o GetDefaultAudioCaptureId para obtener los valores predeterminados de audio.
System.Devices.Icon String Ruta del icono.
System.ItemNameDisplay String El nombre visible más adecuado para el objeto del dispositivo.

 

Propiedades de dispositivo

Name Tipo Descripción
System.Devices.ClassGuid Identificador Único Global (GUID) Clase de dispositivo usada durante la instalación del dispositivo. Para obtener más información, consulte Clases de configuración de dispositivos.
System.Devices.CompatibleIds Cadena[] Los identificadores compatibles del dispositivo. Estos 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 Identificador Único Global (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 Un OR bit a bit de las marcas de capacidad CM_DEVCAP_X definidas 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, ausente o no válido.
System.Devices.DeviceInstanceId String Identidad del dispositivo. Este es también el valor de DeviceInformation.Id.
System.Devices.DeviceManufacturer String Fabricante del dispositivo.
System.Devices.HardwareIds Cadena[] Los ID de hardware del dispositivo. Windows usa estos identificadores al determinar el mejor controlador que se va a 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 String El DeviceInformation.Id del dispositivo primario. Este es el elemento padre de la conexión, no el padre de DeviceContainer.
System.Devices.Present Booleano Indica si el dispositivo está actualmente presente y disponible.
System.ItemNameDisplay String El nombre visible más adecuado para 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 asociado o DeviceInterface.

 

Propiedades de DeviceContainer

Name Tipo Descripción
System.Devices.Category Cadena[] 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 Cadena[] Contiene una lista de categorías a las que pertenece este dispositivo. Por ejemplo, Audio.Headphone, Display.Monitor o Input.Gaming.
System.Devices.CategoryPlural Cadena[] 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 Cadena[] 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 String Ruta de acceso del icono para el glifo.
System.Devices.HardwareIds Cadena[] Colección de identificadores de hardware para todos los objetos DeviceInformationKind.Device secundarios.
System.Devices.Icon String Ruta del icono.
System.Devices.LocalMachine Booleano True si deviceContainer representa el propio sistema, false si el dispositivo es externo al sistema.
System.Devices.Manufacturer String Fabricante del dispositivo.
System.Devices.ModelName String Nombre del modelo del contenedor de dispositivos.
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 String El mejor nombre para mostrar para este dispositivo.

 

Propiedades de deviceInterfaceClass

Name Tipo Descripción
System.ItemNameDisplay String El mejor nombre para mostrar para este dispositivo.

 

Propiedades de DevicePanel

Name Tipo Descripción
System.Devices.Panel.PanelId String Identificador del objeto DevicePanel .
System.Devices.Panel.PanelGroup String Identificador del PanelGroup primario.

Propiedades del extremo de asociación

Name Tipo Descripción
System.Devices.Aep.AepId String 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 Cadena[] Las categorías de las que forma parte el dispositivo. Por ejemplo, impresora o cámara.
System.Devices.Aep.ContainerId Identificador Único Global (GUID) Identificador del objeto AssociationEndpointContainer primario.
System.Devices.Aep.DeviceAddress String 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.IsPaired 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 basarse únicamente en detectar el dispositivo mediante una consulta para determinar si en ese momento se puede usar o no. Por eso es importante esta propiedad.
System.Devices.Aep.Manufacturer String Fabricante del dispositivo.
System.Devices.Aep.ModelId Identificador Único Global (GUID) Identificador del modelo del dispositivo.
System.Devices.Aep.ModelName String El nombre del modelo del dispositivo.
System.Devices.Aep.ProtocolId Identificador Único Global (GUID) Indica el protocolo usado para detectar este dispositivo AssocationEndpoint .
System.Devices.Aep.SignalStrength Int32 Intensidad de señal del dispositivo. Esta propiedad solo es aplicable a algunos protocolos.
System.ItemNameDisplay String El nombre visible más adecuado para el dispositivo.

 

Propiedades de AssociationEndpointContainer

Name Tipo Descripción
System.Devices.AepContainer.Categories Cadena[] Las categorías de las que forma parte el dispositivo. Por ejemplo, impresora o cámara.
System.Devices.AepContainer.Children Cadena[] 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 Identificador Único Global (GUID) Identidad de este dispositivo. Este es también el valor de DeviceInformation.Id, pero en forma GUID.
System.Devices.AepContainer.IsPaired 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 basarse únicamente en detectar el dispositivo mediante una consulta para determinar si en ese momento se puede usar o no. Por eso es importante esta propiedad.
System.Devices.AepContainer.Manufacturer String Fabricante del dispositivo.
System.Devices.AepContainer.ModelIds Cadena[] Lista de identificadores de modelo para el dispositivo. Cada modelo es un GUID en forma de cadena.
System.Devices.AepContainer.ModelName String El nombre del modelo del dispositivo.
System.Devices.AepContainer.ProtocolIds GUID[] Lista de identificadores de protocolo que han contribuido a crear 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 Cadena[] Lista de esquemas URI de transmisión compatibles con 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 String El nombre visible más adecuado para el dispositivo.

 

Propiedades de AssociationEndpointService

Name Tipo Descripción
System.Devices.AepService.AepId String Identificador del objeto AssociationEndpoint primario.
System.Devices.AepService.ContainerId Identificador Único Global (GUID) Identificador del objeto AssociationEndpointContainer primario.
System.Devices.AepService.ParentAepIsPaired Booleano Indica si el objeto AssociationEndpoint primario está emparejado con el sistema.
System.Devices.AepService.ProtocolId Identificador Único Global (GUID) Identidad del protocolo usado para detectar este dispositivo.
System.Devices.AepService.ServiceClassId Identificador Único Global (GUID) Identidad del servicio representado por este dispositivo.
System.Devices.AepService.ServiceId String Identidad de este servicio. Este es también el valor de DeviceInformation.Id.
System.ItemNameDisplay String El nombre visible más adecuado para el servicio.