Cómo recuperar propiedades adicionales para objetos de dispositivo o PnP (HTML)
[ Este artículo está destinado a desarrolladores de Windows 8.x y Windows Phone 8.x que escriben aplicaciones de Windows en tiempo de ejecución. Si estás desarrollando para Windows 10, consulta la documentación más reciente
Describe cómo obtener propiedades de dispositivo adicionales de DeviceInformation o PnpObject.
Especificación de propiedades adicionales
De forma predeterminada, findAllAsync y createWatcher devuelven objetos DeviceInformation con las propiedades siguientes:
Propiedad | Nombre canónico |
---|---|
Id | No aplicable. Esta propiedad es la identidad del objeto. |
Nombre | System.ItemNameDisplay |
IsDefault | System.Devices.IsDefault |
IsEnabled | System.Devices.InterfaceEnabled |
EnclosureLocation | System.Devices.PhysicalDeviceLocation |
Puedes usar las formas sobrecargadas de los métodos findAllAsync y createWatcher disponibles en las clases DeviceInformation y PnpObject. Puedes especificar propiedades adicionales para incluirlas en los resultados mediante el parámetro additionalProperties, de la manera siguiente.
// Create a set of two additional properties.
var propertiesToRetrieve = new Array();
propertiesToRetrieve.push("System.Devices.InterfaceClassGuid");
propertiesToRetrieve.push("System.Devices.ContainerId");
Windows.Devices.Enumeration.findAllAsync(selectorString,
propertiesToRetrieve).then(successCallback, errorCallback);)
// Handles successful completion of the findAllAsync method.
function successCallback(deviceInformationCollection) {
var numDevices = deviceInformationCollection.length;
if (numDevices) {
for (var i = 0; i < numDevices; i++) {
printProperties(document.getElementById("log"),
deviceInformationCollection[i].properties);
}
}
}
// Handles an error completion of the findAllAsync method.
function errorCallback(e) {
document.getElementById("statusMessage").innerHTML =
"Failed to find devices, error: " + e.message;
}
function printProperties(log, prop) {
log.innerHTML += "property store count is: " + prop.size;
var pt = prop.first();
while (pt.hasCurrent) {
log.innerHTML += "<br />" + pt.current.key + " := " + pt.current.value;
pt.moveNext();
}
log.innerHTML += "<br />";
}
Lista de propiedades canónicas
Si un valor de propiedad no está asociado con una interfaz de dispositivo concreta, es posible que esté asociado con el dispositivo del que forma parte la interfaz o el objeto de contenedor de dispositivo que representa los aspectos visibles de un producto de hardware de dispositivo, como el fabricante o el nombre de modelo. A continuación, incluimos las listas de nombres de propiedades de las interfaces de dispositivo, los dispositivos y los contenedores de dispositivo. Consulta Cómo recuperar objetos PnP relacionados para obtener información sobre cómo navegar entre los tipos de objetos.
Propiedades de interfaz de dispositivo
Nombre | Propiedad | Descripción |
---|---|---|
System.Devices.ContainerId |
DEVPKEY_Device_ContainerId |
Identificador del contenedor de la interfaz de dispositivo. |
System.Devices.DeviceInstanceId |
DEVPKEY_Device_InstanceId |
Identificador de instancia de dispositivo del dispositivo al que pertenece esta interfaz. |
System.Devices.InterfaceClassGuid |
DEVPKEY_DeviceInterface_ClassGuid |
GUID de clase de la interfaz. |
System.Devices.InterfaceEnabled |
DEVPKEY_DeviceInterface_Enabled |
Indica si la interfaz está habilitada. |
System.ItemNameDisplay |
DEVPKEY_NAME |
Nombre descriptivo de la interfaz de dispositivo. |
System.Storage.IsMediaRemovable |
DEVPKEY_Storage_Removable_Media |
Indica si los medios del volumen son extraíbles. |
System.Storage.IsPortable |
DEVPKEY_Storage_Portable |
Indica si la pila de almacenamiento considera el almacenamiento como portátil. |
Propiedades de dispositivo
Nombre | Propiedad | Descripción |
---|---|---|
System.Devices.Children |
DEVPKEY_Device_Children |
Identificadores de instancia de dispositivo de los secundarios. Se consultan directamente del estado del kernel. |
System.Devices.CompatibleIds |
DEVPKEY_Device_CompatibleIds |
Esta propiedad es un valor de cadena multi-sz que contiene la lista de identificadores compatibles para el dispositivo. |
System.Devices.ContainerId |
DEVPKEY_Device_ContainerId |
Identificador del contenedor del dispositivo. |
System.Devices.DeviceCapabilities |
DEVPKEY_Device_Capabilities |
Esta propiedad es un valor DWORD que contiene un OR bit a bit de las funcionalidades de un dispositivo. Estas funcionalidades se representan mediante máscaras de bits CM_DEVCAP_Xxxxx definidas en cfgmgr32.h. |
System.Devices.DeviceCharacteristics |
DEVPKEY_Device_Characteristics |
Esta propiedad es un valor DWORD que contiene un OR bit a bit de las características de un dispositivo. Para ver una descripción de estas marcas, que se definen en wdm.h y ntddk.h, consulta el parámetro DeviceCharacteristics de la función IoCreateDevice. |
System.Devices.DeviceHasProblem |
DEVPKEY_Device_HasProblem |
Esta propiedad se consulta directamente del estado del kernel. |
System.Devices.DeviceInstanceId |
DEVPKEY_Device_InstanceId |
Identificador de la instancia de dispositivo. |
System.Devices.HardwareIds |
DEVPKEY_Device_HardwareIds |
Esta propiedad es un valor de cadena multi-sz que contiene la lista de identificadores de hardware del dispositivo. |
System.Devices.InLocalMachineContainer |
DEVPKEY_Device_InLocalMachineContainerr |
Indica si devnode está en el contenedor del equipo. |
System.ItemNameDisplay |
DEVPKEY_NAME |
Nombre de la instancia de dispositivo. |
Propiedades de contenedor
Nombre | Propiedad y descripción |
---|---|
System.ItemNameDisplay | PKEY_NAME - Nombre del contenedor. |
System.Devices.DiscoveryMethod | DEVPKEY_DeviceContainer_DiscoveryMethod - Lista de métodos de detección de dispositivos. |
System.Devices.Connected | DEVPKEY_DeviceContainer_IsConnected - Indica si el dispositivo está conectado. |
System.Devices.Paired | DEVPKEY_DeviceContainer_IsPaired - Indica si el dispositivo está emparejado. |
System.Devices.Icon | DEVPKEY_DeviceContainer_Icon - Ruta de acceso al icono del dispositivo. |
System.Devices.LocalMachine | DEVPKEY_DeviceContainer_IsLocalMachine - Indica si este contenedor representa un equipo local (PC) o no. |
System.Devices.MetadataPath | DEVPKEY_DeviceContainer_MetadataPath - Ruta de acceso a los metadatos del dispositivo. |
System.Devices.LaunchDeviceStageFromExplorer | DEVPKEY_DeviceContainer_LaunchDeviceStageFromExlplorer - Indica si se debe iniciar Device Stage desde el Explorador de Windows. |
System.Devices.DeviceDescription1 | DEVPKEY_DeviceContainer_DeviceDescription1 - Descripción del dispositivo. |
System.Devices.DeviceDescription2 | DEVPKEY_DeviceContainer_DeviceDescription2 - Descripción del dispositivo. |
System.Devices.NotWorkingProperly | DEVPKEY_DeviceContainer_HasProblem - Indica si el contenedor tiene un problema o no. TRUE si cualquier dispositivo presente en el contenedor tiene DEVPKEY_DEVICE_HasProblem establecido en TRUE. |
System.Devices.IsShared | DEVPKEY_DeviceContainer_IsSharedDevice - Indica si el dispositivo está compartido. |
System.Devices.IsNetworkConnected | DEVPKEY_DeviceContainer_IsNetworkDevice - Indica si el dispositivo está conectado en red. |
System.Devices.IsDefault | DEVPKEY_DeviceContainer_IsDefaultDevice - Indica si el dispositivo es el dispositivo predeterminado. |
System.Devices.Category | DEVPKEY_DeviceContainer_Category_Desc_Singular - Categoría del dispositivo (singular). |
System.Devices.CategoryPlural | DEVPKEY_DeviceContainer_Category_Desc_Singular - Categoría del dispositivo (plural). |
System.Devices.CategoryGroup | DEVPKEY_DeviceContainer_CategoryGroup_Desc - Grupo de la categoría del dispositivo. |
System.Devices.FriendlyName | DEVPKEY_DeviceContainer_FriendlyName - Nombre descriptivo. |
System.Devices.Manufacturer | DEVPKEY_DeviceContainer_Manufacturer - Nombre del fabricante. |
System.Devices.ModelName | DEVPKEY_DeviceContainer_ModelName - Nombre del modelo. |
System.Devices.ModelNumber | DEVPKEY_DeviceContainer_ModelNumber - Número del modelo. |
Especificación de propiedades que no tienen nombre canónico
Cuando una propiedad no tiene un nombre canónico especificado, se puede recuperar si se especifica la clave como cadena con el formato "{Guid} pid". Por ejemplo, System.Devices.ContainerId se puede especificar como "{8C7ED206-3F8A-4827-B3AB-AE9E1FAEFC6C} 2".
Temas relacionados
Conceptos