Come recuperare altre proprietà di un dispositivo o un oggetto Plug and Play (HTML)
[ Questo articolo è rivolto agli sviluppatori per Windows 8.x e Windows Phone 8.x che realizzano app di Windows Runtime. Gli sviluppatori che usano Windows 10 possono vedere Documentazione aggiornata ]
Spiega come recuperare altre proprietà di dispositivo da DeviceInformation o da PnpObject.
Specificare altre proprietà
Per impostazione predefinita, findAllAsync e createWatcher restituiscono oggetti DeviceInformation con le proprietà seguenti:
Proprietà | Nome canonico |
---|---|
ID | Non applicabile. Questa proprietà è l'identità dell'oggetto. |
Nome | System.ItemNameDisplay |
IsDefault | System.Devices.IsDefault |
IsEnabled | System.Devices.InterfaceEnabled |
EnclosureLocation | System.Devices.PhysicalDeviceLocation |
Puoi usare i moduli di overload dei metodi findAllAsync e createWatcher disponibili nelle classi DeviceInformation e PnpObject. Puoi specificare altre proprietà da includere nei risultati mediante il parametro additionalProperties come descritto di seguito.
// 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 />";
}
Elenco delle proprietà canoniche
Se il valore di una proprietà non è associato a una determinata interfaccia di dispositivo, può essere associato al dispositivo di cui l'interfaccia fa parte oppure all'oggetto contenitore del dispositivo che rappresenta gli aspetti visibili di un prodotto hardware, come ad esempio il nome del produttore o del modello. Di seguito sono elencati i nomi di proprietà relativi a interfacce di dispositivi, dispositivi e contenitori di dispositivi. Per informazioni su come passare da un tipo di oggetti a un altro, vedi Recupero di oggetti PnP correlati.
Proprietà delle interfacce di dispositivi
Nome | Proprietà | Descrizione |
---|---|---|
System.Devices.ContainerId |
DEVPKEY_Device_ContainerId |
L'ID del contenitore dell'interfaccia di dispositivo. |
System.Devices.DeviceInstanceId |
DEVPKEY_Device_InstanceId |
ID dell'istanza di dispositivo relativa al dispositivo cui appartiene questa interfaccia. |
System.Devices.InterfaceClassGuid |
DEVPKEY_DeviceInterface_ClassGuid |
GUID classe dell'interfaccia. |
System.Devices.InterfaceEnabled |
DEVPKEY_DeviceInterface_Enabled |
Indica se l'interfaccia è abilitata o meno. |
System.ItemNameDisplay |
DEVPKEY_NAME |
Nome descrittivo dell'interfaccia di dispositivo. |
System.Storage.IsMediaRemovable |
DEVPKEY_Storage_Removable_Media |
Indica se il supporto del volume è rimovibile o meno. |
System.Storage.IsPortable |
DEVPKEY_Storage_Portable |
Indica se lo stack di archiviazione considera l'archivio portatile o meno. |
Proprietà dei dispositivi
Nome | Proprietà | Descrizione |
---|---|---|
System.Devices.Children |
DEVPKEY_Device_Children |
ID dell'istanza di dispositivo degli elementi figlio. Richiesti in tempo reale dallo stato del kernel. |
System.Devices.CompatibleIds |
DEVPKEY_Device_CompatibleIds |
Questa proprietà è un valore multistringa SZ contenente l'elenco degli ID compatibili per il dispositivo. |
System.Devices.ContainerId |
DEVPKEY_Device_ContainerId |
L'ID del contenitore del dispositivo. |
System.Devices.DeviceCapabilities |
DEVPKEY_Device_Capabilities |
Questa proprietà è un valore DWORD contenente un operatore OR bit per bit delle funzionalità di un dispositivo. Queste funzionalità sono rappresentate dalle maschere di bit CM_DEVCAP_Xxxxx definite in cfgmgr32.h. |
System.Devices.DeviceCharacteristics |
DEVPKEY_Device_Characteristics |
Questa proprietà è un valore DWORD contenente un operatore OR bit per bit delle caratteristiche di un dispositivo. Se desideri una descrizione di questi flag, definiti in wdm.h e ntddk.h, vedi il parametro DeviceCharacteristics della funzione IoCreateDevice. |
System.Devices.DeviceHasProblem |
DEVPKEY_Device_HasProblem |
Questa proprietà viene richiesta in tempo reale dallo stato del kernel. |
System.Devices.DeviceInstanceId |
DEVPKEY_Device_InstanceId |
ID dell'istanza di dispositivo. |
System.Devices.HardwareIds |
DEVPKEY_Device_HardwareIds |
Questa proprietà è un valore multistringa SZ contenente l'elenco degli ID hardware del dispositivo. |
System.Devices.InLocalMachineContainer |
DEVPKEY_Device_InLocalMachineContainerr |
Indica se devnode è nel contenitore del computer. |
System.ItemNameDisplay |
DEVPKEY_NAME |
Nome dell'istanza di dispositivo. |
Proprietà del contenitore
Nome | Proprietà e descrizione |
---|---|
System.ItemNameDisplay | PKEY_NAME - Nome del contenitore. |
System.Devices.DiscoveryMethod | DEVPKEY_DeviceContainer_DiscoveryMethod - Elenco dei metodi di individuazione del dispositivo. |
System.Devices.Connected | DEVPKEY_DeviceContainer_IsConnected - Indica se il dispositivo è connesso. |
System.Devices.Paired | DEVPKEY_DeviceContainer_IsPaired - Indica se il dispositivo è associato. |
System.Devices.Icon | DEVPKEY_DeviceContainer_Icon - Percorso dell'icona di dispositivo. |
System.Devices.LocalMachine | DEVPKEY_DeviceContainer_IsLocalMachine - Indica se il contenitore rappresenta o meno il computer locale (PC). |
System.Devices.MetadataPath | DEVPKEY_DeviceContainer_MetadataPath - Percorso dei metadati del dispositivo. |
System.Devices.LaunchDeviceStageFromExplorer | DEVPKEY_DeviceContainer_LaunchDeviceStageFromExlplorer - Indica se avviare o meno Device Stage da Esplora risorse. |
System.Devices.DeviceDescription1 | DEVPKEY_DeviceContainer_DeviceDescription1 - Descrizione del dispositivo. |
System.Devices.DeviceDescription2 | DEVPKEY_DeviceContainer_DeviceDescription2 - Descrizione del dispositivo. |
System.Devices.NotWorkingProperly | DEVPKEY_DeviceContainer_HasProblem - Indica se il contenitore presenta o meno problemi. TRUE se qualsiasi dispositivo attuale del contenitore ha DEVPKEY_DEVICE_HasProblem impostato su TRUE. |
System.Devices.IsShared | DEVPKEY_DeviceContainer_IsSharedDevice - Indica se il dispositivo è condiviso. |
System.Devices.IsNetworkConnected | DEVPKEY_DeviceContainer_IsNetworkDevice - Indica se il dispositivo è connesso in rete. |
System.Devices.IsDefault | DEVPKEY_DeviceContainer_IsDefaultDevice - Indica se il dispositivo è quello predefinito. |
System.Devices.Category | DEVPKEY_DeviceContainer_Category_Desc_Singular - Categoria dispositivo (singolare). |
System.Devices.CategoryPlural | DEVPKEY_DeviceContainer_Category_Desc_Singular - Categoria dispositivo (plurale). |
System.Devices.CategoryGroup | DEVPKEY_DeviceContainer_CategoryGroup_Desc - Gruppo di categorie del dispositivo. |
System.Devices.FriendlyName | DEVPKEY_DeviceContainer_FriendlyName - Nome descrittivo. |
System.Devices.Manufacturer | DEVPKEY_DeviceContainer_Manufacturer - Nome del produttore. |
System.Devices.ModelName | DEVPKEY_DeviceContainer_ModelName - Nome del modello. |
System.Devices.ModelNumber | DEVPKEY_DeviceContainer_ModelNumber - Numero del modello. |
Specificare le proprietà che non hanno un nome canonico
Quando il nome canonico della priorità non è specificato, può essere comunque recuperato specificando la chiave sotto forma di stringa "{Guid} pid" del modulo. Ad esempio, è possibile specificare System.Devices.ContainerId come "{8C7ED206-3F8A-4827-B3AB-AE9E1FAEFC6C} 2".
Argomenti correlati
Concetti