Proprietà delle informazioni dei dispositivi

Ogni dispositivo ha associato proprietà DeviceInformation che è possibile usare quando sono necessarie di informazioni specifiche o quando si sta creando un selettore di dispositivo. È possibile usare un filtro AQS (Advanced Query Syntax) per specificare queste proprietà e limitare i dispositivi enumerati con i tratti specificati. È anche possibile usare queste proprietà per indicare le informazioni che si desidera restituire per ogni dispositivo. Ciò consente di specificare le informazioni sul dispositivo restituite all'applicazione.

API importanti

Per altre informazioni sull'uso delle proprietà DeviceInformation nel selettore di dispositivo, vedere Crea un selettore del dispositivo. Questo argomento illustra come richiedere le proprietà delle informazioni e descrive alcune proprietà comuni.

Un oggetto DeviceInformation è composto da un'identità (DeviceInformation.Id), un tipo (DeviceInformation.Kind), e un contenitore di proprietà (DeviceInformation.Properties). Tutte le altre proprietà di un oggetto DeviceInformation derivano dal contenitore di proprietà Properties . Ad esempio, Nome è derivato da System.ItemNameDisplay. Ciò significa che il contenitore di proprietà contiene sempre le informazioni necessarie per determinare le altre proprietà.

Proprietà richiesta

Un oggetto DeviceInformation ha alcune proprietà, come Id e Tipo, ma la maggior parte delle proprietà viene archiviata in un contenitore Proprietà. Per questo motivo, il contenitore di proprietà contiene le proprietà utilizzate per generarle dal contenitore stesso. Ad esempio, usare System.ItemNameDisplay per generare la proprietà Nome . Si tratta di un caso di una proprietà comune e nota con un nome descrittivo. Windows offre diversi di questi nomi descrittivi per semplificare l'esecuzione di query per le proprietà.

Quando si richiedono proprietà, non ci si limita alle proprietà comuni con nomi descrittivi. È possibile specificare il GUID sottostante e l'ID proprietà (PID) per richiedere qualsiasi proprietà disponibile, anche proprietà personalizzate fornite da un singolo dispositivo o driver. Il formato per specificare una proprietà personalizzata è "{GUID} PID". Ad esempio: "{744e3bed-3684-4e16-9f8a-07953a8bf2ab} 7".

Nota

L'elenco dei GUID delle proprietà si trova nel file di intestazione chiavi di proprietà relativo al driver del dispositivo.

Alcune proprietà sono comuni in tutti gli oggetti DeviceInformationKind , ma la maggior parte è univoca per un tipo specifico. Le sezioni seguenti elencano alcune proprietà comuni ordinate in base al singolo DeviceInformationKind. Per altre informazioni sulla correlazione tra i diversi tipi, vedere DeviceInformationKind.

Proprietà DeviceInterface

DeviceInterface è l'oggetto di DeviceInformationKind impostato di default e più comunemente usato negli scenari di app. Questo è il tipo di oggetto che dovresti usare a meno che l'API del dispositivo non indichi un DeviceInformationKind diverso.

Nome Tipo Descrizione
System.Devices.ContainerId GUID Identità di DeviceInformationKind.DeviceContainer che contiene il Dispositivo che contiene a sua volta questo DeviceInterface. È possibile passare questo valore a CreateFromIdAsync oltre a DeviceInformationKind.DeviceContainer per trovare il contenitore appropriato.
System.Devices.InterfaceClassGuid GUID GUID della classe di interfaccia rappresentata da questa interfaccia.
System.Devices.DeviceInstanceId String Identità dell'oggetto padre DeviceInformationKind.Device. È possibile passare questo valore a CreateFromIdAsync oltre a DeviceInformationKind.DeviceContainer per trovare il dispositivo appropriato.
System.Devices.InterfaceEnabled Booleano Indica se l'interfaccia è abilitata. DeviceInformation.IsEnabled è derivato da questa proprietà.
System.Devices.GlyphIcon String Percorso icona per il glifo.
System.Devices.IsDefault Booleano Indica se si tratta del dispositivo predefinito per System.Devices.InterfaceClassGuid. Questo viene utilizzato principalmente per le stampanti. Questo non funziona per l'audio perché sono presenti più impostazioni predefinite audio. Usare GetDefaultAudioRenderId o GetDefaultAudioCaptureId per ottenere le impostazioni predefinite per l'audio.
System.Devices.Icon String Percorso icona.
System.ItemNameDisplay String Il miglior nome visualizzato per l'oggetto dispositivo.

 

Proprietà dei dispositivi

Nome Tipo Descrizione
System.Devices.ClassGuid GUID Classe dispositivo usata durante l'installazione del dispositivo. Per altre informazioni, vedere Classi di installazione del dispositivo.
System.Devices.CompatibleIds String[] Gli ID compatibili del dispositivo. Questi vengono usati quando Windows determina il driver migliore da installare nel dispositivo. Per altre informazioni, vedere ID compatibile.
System.Devices.ContainerId GUID Identità di DeviceInformationKind.DeviceContainer che include questo dispositivo. È possibile passare questo valore a CreateFromIdAsync oltre a DeviceInformationKind.DeviceContainer per trovare il contenitore appropriato.
System.Devices.DeviceCapabilities UInt32 Un bitwise-OR dei flag di capacità CM_DEVCAP_X definiti in CfgMgr32.h. Per altre informazioni, vedere DEVPKEY_Device_Capabilities.
System.Devices.DeviceHasProblem Booleano Il dispositivo presenta attualmente un problema e probabilmente non funziona in modo corretto. Ciò potrebbe essere dovuto a un driver obsoleto, mancante o non valido.
System.Devices.DeviceInstanceId String L'identità del dispositivo. Questo è anche il valore di DeviceInformation.Id.
System.Devices.DeviceManufacturer String Il produttore del dispositivo.
System.Devices.HardwareIds String[] ID hardware del dispositivo. Windows usa questi ID per determinare il driver migliore da installare. I fornitori di dispositivi possono usare questa proprietà per identificare il dispositivo dalla propria app. Per altre informazioni, vedere Hardware ID.
System.Devices.Parent String Il DeviceInformation.Id del dispositivo padre. Si tratta dell'elemento padre della connessione, non dell'elemento padre DeviceContainer .
System.Devices.Present Booleano Indica se il dispositivo è attualmente presente e disponibile.
System.ItemNameDisplay String Il miglior nome visualizzato per questo oggetto dispositivo. In questo caso, questo non è necessariamente il nome migliore per gli utenti. È possibile trovare un candidato più probabile per un nome descrittivo facendo riferimento a System.ItemNameDisplay dell'oggetto DeviceContainer o DeviceInterface associato.

 

Proprietà DeviceContainer

Nome Tipo Descrizione
System.Devices.Category String[] Elenco di descrizioni delle categorie a cui appartiene il dispositivo. Questo elenco viene fornito come categorie singolari. Ad esempio, "Display", "Telefono" o "Dispositivo audio".
System.Devices.CategoryIds String[] Contiene un elenco di categorie a cui appartiene il dispositivo. Ad esempio, Audio.Headphone, Display.Monitor o Input.Gaming.
System.Devices.CategoryPlural String[] Elenco di descrizioni delle categorie a cui appartiene il dispositivo. Questo elenco viene fornito come categorie plurali. Ad esempio, "Display", "Telefoni" o "Dispositivi audio".
System.Devices.CompatibleIds String[] Raccolta di ID compatibili per tutti gli oggetti figlio DeviceInformationKind.Device.
System.Devices.Connected Booleano Indica se il dispositivo è attualmente connesso al sistema o meno.
System.Devices.GlyphIcon String Percorso icona per il glifo.
System.Devices.HardwareIds String[] Raccolta di ID hardware per tutti gli oggetti figlio DeviceInformationKind.Device.
System.Devices.Icon String Percorso icona.
System.Devices.LocalMachine Booleano Vero se questo DeviceContainer rappresenta il sistema stesso, Falso se il dispositivo è esterno al sistema.
System.Devices.Manufacturer String Il produttore del dispositivo.
System.Devices.ModelName String Nome del modello del contenitore del dispositivo.
System.Devices.Paired Booleano Indica se uno degli oggetti figlio DeviceInformationKind.Device sono dispositivi wireless o di rete attualmente associati al sistema.
System.ItemNameDisplay String Il miglior nome visualizzato per questo dispositivo.

 

Proprietà DeviceInterfaceClass

Nome Tipo Descrizione
System.ItemNameDisplay String Il miglior nome visualizzato per questo dispositivo.

 

Proprietà DevicePanel

Nome Tipo Descrizione
System.Devices.Panel.PanelId String L'identificatore dell'oggetto DevicePanel.
System.Devices.Panel.PanelGroup String L'identificatore del PanelGroup padre.

Proprietà AssociationEndpoint

Nome Tipo Descrizione
System.Devices.Aep.AepId String Identità del dispositivo. Questo è anche il valore di DeviceInformation.Id.
System.Devices.Aep.CanPair Booleano Indica se il dispositivo può essere associato o meno al sistema. DeviceInformationPairing.CanPair è derivato da questa proprietà.
System.Devices.Aep.Category String[] Categorie di cui fa parte il dispositivo. Ad esempio, stampante o fotocamera.
System.Devices.Aep.ContainerId GUID L'id dell'oggetto padre AssociationEndpointContainer.
System.Devices.Aep.DeviceAddress String L'indirizzo del dispositivo. Se il dispositivo è un dispositivo di rete, si tratta dell'indirizzo IP.
System.Devices.Aep.IsConnected Booleano Indica se il dispositivo è attualmente connesso al sistema.
System.Devices.Aep.IsPaired Booleano Indica se il dispositivo è attualmente associato. DeviceInformationPairing.IsPaired è derivato da questa proprietà.
System.Devices.Aep.IsPresent Booleano Indica se il dispositivo è attualmente presente, ovvero il dispositivo è attivo e individuato tramite la rete o il protocollo wireless. Una volta che un dispositivo è stato associato al sistema, il dispositivo viene memorizzato nella cache. In seguito, il dispositivo verrà individuato automaticamente durante l'esecuzione di query per gli oggetti AssociationEndpoint. Per questo motivo, non è possibile basarsi solo sull'individuazione del dispositivo con una query per indicare se è attualmente utilizzabile o meno. Ecco perché questa proprietà è importante.
System.Devices.Aep.Manufacturer String Il produttore del dispositivo.
System.Devices.Aep.ModelId GUID L'id modello del dispositivo.
System.Devices.Aep.ModelName String Il nome modello del dispositivo.
System.Devices.Aep.ProtocolId GUID Indica il protocollo usato per individuare questo dispositivo AssocationEndpoint.
System.Devices.Aep.SignalStrength Int32 La potenza del segnale del dispositivo. Questa proprietà è applicabile solo per alcuni protocolli.
System.ItemNameDisplay String Il miglior nome visualizzato per il dispositivo.

 

Proprietà AssociationEndpointContainer

Nome Tipo Descrizione
System.Devices.AepContainer.Categories String[] Categorie di cui fa parte il dispositivo. Ad esempio, stampante o fotocamera.
System.Devices.AepContainer.Children String[] Raccolta di ID per gli oggetti AssocationEndpoint che fanno parte di questo contenitore.
System.Devices.AepContainer.CanPair Booleano Indica se uno dei dispositivi figlio AssociationEndpoint può essere associato o meno al sistema. DeviceInformationPairing.CanPair è derivato da questa proprietà.
System.Devices.AepContainer.ContainerId GUID Identità del dispositivo. Questo è anche il valore di DeviceInformation.Id, ma in formato GUID.
System.Devices.AepContainer.IsPaired Booleano Indica se uno dei dispositivi figlio AssociationEndpoint è attualmente associato. DeviceInformationPairing.IsPaired è derivato da questa proprietà.
System.Devices.AepContainer.IsPresent Booleano Indica se uno dei dispositivi figlio AssociationEndpoint è attualmente presente, ovvero il dispositivo è attivo ed è individuato tramite la rete o il protocollo wireless. Una volta che un dispositivo è stato associato al sistema, il dispositivo viene memorizzato nella cache. In seguito, il dispositivo verrà individuato automaticamente durante l'esecuzione di query per gli oggetti AssociationEndpoint. Per questo motivo, non è possibile basarsi solo sull'individuazione del dispositivo con una query per indicare se è attualmente utilizzabile o meno. Ecco perché questa proprietà è importante.
System.Devices.AepContainer.Manufacturer String Il produttore del dispositivo.
System.Devices.AepContainer.ModelIds String[] Elenco di ID modello per il dispositivo. Ogni modello è un GUID in formato stringa.
System.Devices.AepContainer.ModelName String Il nome modello del dispositivo.
System.Devices.AepContainer.ProtocolIds GUID[] Elenco di ID protocollo che hanno contribuito alla creazione di questo oggetto AssociationEndpointContainer . Tenere presente che un dispositivo AssociationEndpointContainer viene creato raccogliendo tutti i dispositivi AssociationEndpoint individuati su protocolli diversi per lo stesso dispositivo fisico.
System.Devices.AepContainer.SupportedUrischemes String[] Elenco degli schemi URI di cast supportati da questo dispositivo.
System.Devices.AepContainer.SupportsAudio Booleano Indica se il dispositivo supporta il cast audio.
System.Devices.AepContainer.SupportsImages Booleano Indica se il dispositivo supporta il cast delle immagini.
System.Devices.AepContainer.SupportsVideo Booleano Indica se il dispositivo supporta il cast video.
System.ItemNameDisplay String Il miglior nome visualizzato per il dispositivo.

 

Proprietà AssociationEndpointService

Nome Tipo Descrizione
System.Devices.AepService.AepId String L'identificatore dell'oggetto padre AssociationEndpoint.
System.Devices.AepService.ContainerId GUID L'identificatore dell'oggetto padre AssociationEndpointContainer.
System.Devices.AepService.ParentAepIsPaired Booleano Indica se l'oggetto padre AssociationEndpoint è associato al sistema.
System.Devices.AepService.ProtocolId GUID Identità del protocollo usato per individuare il dispositivo.
System.Devices.AepService.ServiceClassId GUID Identità del servizio rappresentato da questo dispositivo.
System.Devices.AepService.ServiceId String Identità di questo servizio. Questo è anche il valore di DeviceInformation.Id.
System.ItemNameDisplay String Il miglior nome visualizzato per il servizio.