Condividi tramite


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

Proprietà del dispositivo definite dal sistema

Modello unificato di proprietà del dispositivo