Como recuperar propriedades adicionais para um dispositivo ou objeto PnP (HTML)
[ Este artigo destina-se aos desenvolvedores do Windows 8.x e do Windows Phone 8.x que escrevem aplicativos do Windows Runtime. Se você estiver desenvolvendo para o Windows 10, consulte documentação mais recente]
Descreve como obter propriedades do dispositivo adicional de um DeviceInformation ou PnpObject.
Especificando propriedades adicionais
Por padrão, findAllAsync e createWatcher retornam objeto DeviceInformation com as seguintes propriedades:
Propriedade | Nome clássico |
---|---|
Id | Não aplicável. Esta propriedade é a identidade do objeto. |
Nome | System.ItemNameDisplay |
IsDefault | System.Devices.IsDefault |
IsEnabled | System.Devices.InterfaceEnabled |
EnclosureLocation | System.Devices.PhysicalDeviceLocation |
Você pode usar formas sobrecarregadas dos métodos findAllAsync e createWatcher que estão disponíveis nas classes DeviceInformation e PnpObject. Você pode especificar propriedades adicionais para incluir nos resultados, usando o parâmetro additionalProperties conforme segue.
// 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 propriedades canônicas
Quando um valor de propriedade não está associado a uma interface de dispositivo específica, ele pode estar associado ao dispositivo que é parte da interface ou do objeto do contêiner do dispositivo que representa os aspectos visíveis de um produto de hardware de dispositivo, como fabricante ou nome do modelo. A seguir, há listas de nomes de propriedades para interfaces do dispositivo, dispositivo e contêineres de dispositivos. Consulte Recuperando objetos PnP relacionados para aprender como navegar entre tipos de objetos.
Propriedades de interface de dispositivo
Nome | Propriedade | Descrição |
---|---|---|
System.Devices.ContainerId |
DEVPKEY_Device_ContainerId |
ID do contêiner da interface do dispositivo. |
System.Devices.DeviceInstanceId |
DEVPKEY_Device_InstanceId |
ID do dispositivo da instância do dispositivo a que essa interface pertence. |
System.Devices.InterfaceClassGuid |
DEVPKEY_DeviceInterface_ClassGuid |
GUID da classe da interface. |
System.Devices.InterfaceEnabled |
DEVPKEY_DeviceInterface_Enabled |
Indica se a interface está habilitada. |
System.ItemNameDisplay |
DEVPKEY_NAME |
O nome amigável da interface do dispositivo. |
System.Storage.IsMediaRemovable |
DEVPKEY_Storage_Removable_Media |
Indica se a média do volume é removível. |
System.Storage.IsPortable |
DEVPKEY_Storage_Portable |
Indica se a pilha de armazenamento considera o armazenamento como portátil. |
Propriedades do dispositivo
Nome | Propriedade | Descrição |
---|---|---|
System.Devices.Children |
DEVPKEY_Device_Children |
IDs das crianças de instância do dispositivo. Consulta ao vivo de estado de núcleo. |
System.Devices.CompatibleIds |
DEVPKEY_Device_CompatibleIds |
Esta propriedade é um valor de sequência múltipla sz que contém a lista de IDs compatíveis para o dispositivo. |
System.Devices.ContainerId |
DEVPKEY_Device_ContainerId |
ID do contêiner do dispositivo. |
System.Devices.DeviceCapabilities |
DEVPKEY_Device_Capabilities |
Esta propriedade é um valor DWORD que contém um OR bit a bit de recursos de dispositivos. Esses recursos são representados pelas máscaras de bit CM_DEVCAP_Xxxxx que são definidas em cfgmgr32.h. |
System.Devices.DeviceCharacteristics |
DEVPKEY_Device_Characteristics |
Esta propriedade é um valor DWORD que contém um OR bit a bit de características de dispositivos. Para obter uma descrição dos sinalizadores, que são definidos em wdm.h e ntddk.h, veja o parâmetro DeviceCharacteristics da função IoCreateDevice. |
System.Devices.DeviceHasProblem |
DEVPKEY_Device_HasProblem |
Esta propriedade é consultada ao vivo do estado de núcleo. |
System.Devices.DeviceInstanceId |
DEVPKEY_Device_InstanceId |
ID da instância do dispositivo. |
System.Devices.HardwareIds |
DEVPKEY_Device_HardwareIds |
Esta propriedade é um valor de sequência múltipla sz que contém a lista de IDs de hardware para o dispositivo. |
System.Devices.InLocalMachineContainer |
DEVPKEY_Device_InLocalMachineContainerr |
Indica se o devnode está no contêiner do computador. |
System.ItemNameDisplay |
DEVPKEY_NAME |
O nome da instância do dispositivo. |
Propriedades do contêiner
Nome | Propriedade e descrição |
---|---|
System.ItemNameDisplay | PKEY_NAME - Nome do contêiner. |
System.Devices.DiscoveryMethod | DEVPKEY_DeviceContainer_DiscoveryMethod - Lista de métodos de descoberta de dispositivo. |
System.Devices.Connected | DEVPKEY_DeviceContainer_IsConnected - Indica se o dispositivo está conectado. |
System.Devices.Paired | DEVPKEY_DeviceContainer_IsPaired - Indica se o dispositivo está conectado. |
System.Devices.Icon | DEVPKEY_DeviceContainer_Icon - Caminho para o ícone do dispositivo. |
System.Devices.LocalMachine | DEVPKEY_DeviceContainer_IsLocalMachine - Indica se esse contêiner representa o computador local (PC) ou não. |
System.Devices.MetadataPath | DEVPKEY_DeviceContainer_MetadataPath - Caminho para metadados do dispositivo. |
System.Devices.LaunchDeviceStageFromExplorer | DEVPKEY_DeviceContainer_LaunchDeviceStageFromExlplorer - Indica quando iniciar o Device Stage no Windows Explorer. |
System.Devices.DeviceDescription1 | DEVPKEY_DeviceContainer_DeviceDescription1 - Descrição do dispositivo. |
System.Devices.DeviceDescription2 | DEVPKEY_DeviceContainer_DeviceDescription2 - Descrição do dispositivo. |
System.Devices.NotWorkingProperly | DEVPKEY_DeviceContainer_HasProblem - Indica se o contêiner tem um problema ou não. VERDADEIRO se algum dispositivo presente no contêiner tiver o DEVPKEY_DEVICE_HasProblem definido como VERDADEIRO. |
System.Devices.IsShared | DEVPKEY_DeviceContainer_IsSharedDevice - Indica se o dispositivo é compartilhado. |
System.Devices.IsNetworkConnected | DEVPKEY_DeviceContainer_IsNetworkDevice - Indica se o dispositivo está conectado à rede. |
System.Devices.IsDefault | DEVPKEY_DeviceContainer_IsDefaultDevice - Indica se o dispositivo é o dispositivo padrão. |
System.Devices.Category | DEVPKEY_DeviceContainer_Category_Desc_Singular - Categoria do dispositivo (singular). |
System.Devices.CategoryPlural | DEVPKEY_DeviceContainer_Category_Desc_Singular - Categoria do dispositivo (plural). |
System.Devices.CategoryGroup | DEVPKEY_DeviceContainer_CategoryGroup_Desc - Grupo de categorias do dispositivo. |
System.Devices.FriendlyName | DEVPKEY_DeviceContainer_FriendlyName - Nome amigável. |
System.Devices.Manufacturer | DEVPKEY_DeviceContainer_Manufacturer - Nome do fabricante. |
System.Devices.ModelName | DEVPKEY_DeviceContainer_ModelName - Nome do modelo. |
System.Devices.ModelNumber | DEVPKEY_DeviceContainer_ModelNumber - Número do modelo. |
Especificando propriedades que não possuem um nome canônico
Quando uma propriedade não possui um nome canônico especificado, ele ainda pode ser recuperado pela especificação da chave como uma sequência da forma "{Guid} pid". Por exemplo, System.Devices.ContainerId pode ser especificado como "{8C7ED206-3F8A-4827-B3AB-AE9E1FAEFC6C} 2".
Tópicos relacionados
Conceitos