Proprietà delle informazioni del dispositivo
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. |