Freigeben über


Geräteinformationseigenschaften

Jedem Gerät sind DeviceInformation-Eigenschaften zugeordnet, die Sie verwenden können, wenn Sie bestimmte Informationen benötigen oder wenn Sie einen Geräteselektor erstellen. Ein AQS-Filter (Advanced Query Syntax) kann verwendet werden, um diese Eigenschaften zu spezifizieren und die aufgezählten Geräte mit den angegebenen Merkmalen einzuschränken. Sie können diese Eigenschaften auch verwenden, um anzugeben, welche Informationen Sie für jedes Gerät zurückgeben möchten. So können Sie die Geräteinformationen festlegen, die an Ihre Anwendung zurückgegeben werden.

Wichtige APIs

Weitere Informationen zur Verwendung von DeviceInformation Eigenschaften in Ihrem Geräteselektor finden Sie unter Erstellen eines Geräteselektors. Dieses Thema zeigt, wie man Informationseigenschaften anfordert und beschreibt einige gängige Eigenschaften.

Ein DeviceInformation-Objekt besteht aus einer Identität (DeviceInformation.Id), einer Art (DeviceInformation.Kind) und einer Eigenschaftstasche (DeviceInformation.Properties). Alle anderen Eigenschaften eines DeviceInformation-Objekts sind von der Properties Eigenschaftstasche abgeleitet. Zum Beispiel ist Name von System.ItemNameDisplay abgeleitet. Das bedeutet, dass der Eigenschaftsbeutel immer die notwendigen Informationen enthält, um die anderen Eigenschaften zu bestimmen.

Eigenschaften anfragen

Ein DeviceInformation-Objekt hat einige grundlegende Eigenschaften, wie Id und Kind, aber die meisten Eigenschaften sind in einer Eigenschaft Tasche unter Eigenschaften gespeichert. Aus diesem Grund enthält der Eigenschaftsbeutel die Eigenschaften, die als Quelle für die Eigenschaften aus dem Eigenschaftsbeutel dienen. Verwenden Sie zum Beispiel System.ItemNameDisplay, um die Eigenschaft Name zu verwenden. In diesem Fall handelt es sich um eine allgemein bekannte Eigenschaft, die einen benutzerfreundlichen Namen hat. Windows bietet mehrere dieser benutzerfreundlichen Namen an, um die Abfrage von Eigenschaften zu erleichtern.

Wenn Sie Eigenschaften anfordern, sind Sie nicht auf die üblichen Eigenschaften mit benutzerfreundlichen Namen beschränkt. Sie können die zugrunde liegende GUID und die Eigenschafts-ID (PID) angeben, um jede verfügbare Eigenschaft anzufordern, auch benutzerdefinierte Eigenschaften, die von einem einzelnen Gerät oder Treiber bereitgestellt werden. Das Format für die Angabe einer benutzerdefinierten Eigenschaft ist „{GUID} PID“. Beispiel: „{744e3bed-3684-4e16-9f8a-07953a8bf2ab} 7“.

Hinweis

Die Liste der Eigenschafts-GUIDs finden Sie in der Header-Datei des Gerätetreibers.

Einige Eigenschaften sind allen DeviceInformationKind-Objekten gemeinsam, aber die meisten sind für eine bestimmte Art einzigartig. In den folgenden Abschnitten sind einige allgemeine Eigenschaften nach den einzelnen DeviceInformationKind sortiert aufgeführt. Weitere Informationen darüber, wie sich die verschiedenen Arten zueinander verhalten, finden Sie unter DeviceInformationKind.

DeviceInterface-Eigenschaften

DeviceInterface ist das standardmäßige und am häufigsten verwendete DeviceInformationKind-Objekt, das in Anwendungsszenarien verwendet wird. Dies ist die Art von Objekt, die Sie verwenden sollten, es sei denn, die Geräte-API gibt eine andere spezifische DeviceInformationKind an.

Name Typ Beschreibung
System.Devices.ContainerId GUID Identität des DeviceInformationKind.DeviceContainer, der das Gerät enthält, das diese Geräteschnittstelle enthält. Sie können diesen Wert an CreateFromIdAsync zusammen mit DeviceInformationKind.DeviceContainer übergeben, um den entsprechenden Container zu finden.
System.Devices.InterfaceClassGuid GUID Die GUID der Schnittstellenklasse, die diese Schnittstelle darstellt.
System.Devices.DeviceInstanceId String Identität des übergeordneten DeviceInformationKind.Device. Sie können diesen Wert an CreateFromIdAsync zusammen mit DeviceInformationKind.Device übergeben, um das entsprechende Gerät zu finden.
System.Devices.InterfaceEnabled Boolean Zeigt an, ob die Schnittstelle aktiviert ist. DeviceInformation.IsEnabled ist von dieser Eigenschaft abgeleitet.
System.Devices.GlyphIcon String Icon-Pfad für die Glyphe.
System.Devices.IsDefault Boolean Gibt an, ob dies das Standardgerät für die System.Devices.InterfaceClassGuid ist. Dies wird hauptsächlich für Drucker verwendet. Dies funktioniert nicht für Audio, da es mehrere Audio-Standardwerte gibt. Verwenden Sie GetDefaultAudioRenderId oder GetDefaultAudioCaptureId, um Audio-Standardwerte zu erhalten.
System.Devices.Icon String Icon-Pfad.
System.ItemNameDisplay String Der beste Anzeigename für das Geräteobjekt.

 

Geräteeigenschaften

Name Typ Beschreibung
System.Devices.ClassGuid GUID Geräteklasse, die bei der Geräteinstallation verwendet wird. Weitere Informationen finden Sie unter Device Setup Classes.
System.Devices.CompatibleIds String[] Die kompatiblen IDs des Geräts. Diese werden verwendet, wenn Windows ermittelt, welcher Treiber am besten auf dem Gerät zu installieren ist. Weitere Informationen finden Sie unter Compatible ID.
System.Devices.ContainerId GUID Kennung des DeviceInformationKind.DeviceContainer, der dieses Gerät enthält. Sie können diesen Wert an CreateFromIdAsync zusammen mit DeviceInformationKind.DeviceContainer übergeben, um den entsprechenden Container zu finden.
System.Devices.DeviceCapabilities UInt32 Ein bitweises ODER der CM_DEVCAP_X-Funktionsflags, die in CfgMgr32.h definiert sind. Weitere Informationen finden Sie unter DEVPKEY_Device_Capabilities.
System.Devices.DeviceHasProblem Boolean Das Gerät hat derzeit ein Problem und funktioniert wahrscheinlich nicht richtig. Dies könnte auf einen veralteten, fehlenden oder ungültigen Treiber zurückzuführen sein.
System.Devices.DeviceInstanceId String Die Identität des Geräts. Dies ist auch der Wert von DeviceInformation.Id.
System.Devices.DeviceManufacturer String Der Hersteller des Geräts.
System.Devices.HardwareIds String[] Die Hardware-IDs der Geräte. Windows verwendet diese IDs, um den besten Treiber für die Installation zu finden. Gerätehersteller können diese Eigenschaft nutzen, um ihr Gerät in ihrer App zu identifizieren. Weitere Informationen finden Sie unter Hardware ID.
System.Devices.Parent String Die DeviceInformation.Id des übergeordneten Geräts. Dies ist die übergeordnete Verbindung, nicht der DeviceContainer.
System.Devices.Present Boolean Zeigt an, ob das Gerät derzeit vorhanden und verfügbar ist.
System.ItemNameDisplay String Der beste Anzeigename für dieses Geräteobjekt. In diesem Fall ist dies nicht unbedingt der beste Name für die Benutzer. Ein wahrscheinlicherer Kandidat für einen benutzerfreundlichen Namen könnte durch Verweis auf die System.ItemNameDisplay des zugehörigen DeviceContainer oder DeviceInterface gefunden werden.

 

DeviceContainer-Eigenschaften

Name Typ Beschreibung
System.Devices.Category String[] Eine Liste mit Beschreibungen der Kategorien, zu denen das Gerät gehört. Diese Liste wird als einzelne Kategorien bereitgestellt. Zum Beispiel „Display", „Telefon“ oder „Audiogerät“.
System.Devices.CategoryIds String[] Enthält eine Liste der Kategorien, zu denen dieses Gerät gehört. Zum Beispiel Audio.Headphone, Display.Monitor oder Input.Gaming.
System.Devices.CategoryPlural String[] Eine Liste mit Beschreibungen der Kategorien, zu denen das Gerät gehört. Diese Liste wird als Plural von Kategorien bereitgestellt. Zum Beispiel „Bildschirme", „Telefone“ oder „Audiogeräte“.
System.Devices.CompatibleIds String[] Die Sammlung der kompatiblen IDs für alle untergeordneten DeviceInformationKind.Device-Objekte.
System.Devices.Connected Boolean Zeigt an, ob das Gerät derzeit mit dem System verbunden ist oder nicht.
System.Devices.GlyphIcon String Icon-Pfad für die Glyphe.
System.Devices.HardwareIds String[] Die Sammlung der Hardware-IDs für alle untergeordneten Objekte DeviceInformationKind.Device .
System.Devices.Icon String Icon-Pfad.
System.Devices.LocalMachine Boolean True wenn dieser DeviceContainer das System selbst repräsentiert, false wenn das Gerät außerhalb des Systems liegt.
System.Devices.Manufacturer String Der Hersteller des Geräts.
System.Devices.ModelName String Modellname des Gerätecontainers.
System.Devices.Paired Boolean Zeigt an, ob eines der untergeordneten Objekte DeviceInformationKind.Device drahtlose oder Netzwerkgeräte sind, die derzeit mit dem System gekoppelt sind.
System.ItemNameDisplay String Der beste Anzeigename für dieses Gerät.

 

DeviceInterfaceClass-Eigenschaften

Name Typ Beschreibung
System.ItemNameDisplay String Der beste Anzeigename für dieses Gerät.

 

DevicePanel-Eigenschaften

Name Typ Beschreibung
System.Devices.Panel.PanelId String Der Bezeichner des DevicePanel-Objekts.
System.Devices.Panel.PanelGroup String Die Kennung der übergeordneten PanelGroup.

AssociationEndpoint-Eigenschaften

Name Typ Beschreibung
System.Devices.Aep.AepId String Identität dieses Geräts. Dies ist auch der Wert von DeviceInformation.Id.
System.Devices.Aep.CanPair Boolean Zeigt an, ob das Gerät mit dem System gekoppelt werden kann oder nicht. DeviceInformationPairing.CanPair ist von dieser Eigenschaft abgeleitet.
System.Devices.Aep.Category String[] Die Kategorien, zu denen das Gerät gehört. Zum Beispiel Drucker oder Kamera.
System.Devices.Aep.ContainerId GUID Die ID des übergeordneten AssociationEndpointContainer-Objekts.
System.Devices.Aep.DeviceAddress String Die Adresse des Geräts. Handelt es sich bei dem Gerät um ein Netzwerkgerät, ist dies die IP-Adresse.
System.Devices.Aep.IsConnected Boolean Zeigt an, ob das Gerät derzeit mit dem System verbunden ist.
System.Devices.Aep.IsPaired Boolean Zeigt an, ob das Gerät derzeit gekoppelt ist. DeviceInformationPairing.IsPaired ist von dieser Eigenschaft abgeleitet.
System.Devices.Aep.IsPresent Boolean Zeigt an, ob das Gerät gegenwärtig vorhanden ist, d. h. das Gerät ist aktiv und wird über das Netzwerk- oder Funkprotokoll erkannt. Sobald ein Gerät mit dem System gepaart wurde, wird das Gerät im Cache gespeichert. Danach wird das Gerät bei der Abfrage nach AssociationEndpoint-Objekten automatisch erkannt. Aus diesem Grund können Sie sich nicht darauf verlassen, dass das Gerät durch eine Abfrage erkannt wird, um festzustellen, ob es gerade nutzbar ist oder nicht. Aus diesem Grund ist diese Eigenschaft so wichtig.
System.Devices.Aep.Manufacturer String Der Hersteller des Geräts.
System.Devices.Aep.ModelId GUID Die Modell-ID des Geräts.
System.Devices.Aep.ModelName String Der Modellname des Geräts.
System.Devices.Aep.ProtocolId GUID Gibt das Protokoll an, mit dem dieses AssocationEndpoint Gerät ermittelt wurde.
System.Devices.Aep.SignalStrength Int32 Die Signalstärke des Geräts. Diese Eigenschaft ist nur bei einigen Protokollen anwendbar.
System.ItemNameDisplay String Der beste Anzeigename für das Gerät.

 

AssociationEndpointContainer-Eigenschaften

Name Typ Beschreibung
System.Devices.AepContainer.Categories String[] Die Kategorien, zu denen das Gerät gehört. Zum Beispiel Drucker oder Kamera.
System.Devices.AepContainer.Children String[] Die Sammlung von ids für die AssocationEndpoint-Objekte, die Teil dieses Containers sind.
System.Devices.AepContainer.CanPair Boolean Gibt an, ob eines der untergeordneten Geräte AssociationEndpoint mit dem System gekoppelt werden kann oder nicht. DeviceInformationPairing.CanPair ist von dieser Eigenschaft abgeleitet.
System.Devices.AepContainer.ContainerId GUID Identität dieses Geräts. Dies ist auch der Wert von DeviceInformation.Id, allerdings in Form einer GUID.
System.Devices.AepContainer.IsPaired Boolean Zeigt an, ob eines der untergeordneten Geräte AssociationEndpoint derzeit gekoppelt ist. DeviceInformationPairing.IsPaired ist von dieser Eigenschaft abgeleitet.
System.Devices.AepContainer.IsPresent Boolean Zeigt an, ob eines der untergeordneten Geräte AssociationEndpoint gegenwärtig vorhanden ist, d. h. das Gerät ist aktiv und wird über das Netzwerk oder das drahtlose Protokoll erkannt. Sobald ein Gerät mit dem System gepaart wurde, wird das Gerät im Cache gespeichert. Danach wird das Gerät bei der Abfrage nach AssociationEndpoint-Objekten automatisch erkannt. Aus diesem Grund können Sie sich nicht darauf verlassen, dass das Gerät durch eine Abfrage erkannt wird, um festzustellen, ob es gerade nutzbar ist oder nicht. Aus diesem Grund ist diese Eigenschaft so wichtig.
System.Devices.AepContainer.Manufacturer String Der Hersteller des Geräts.
System.Devices.AepContainer.ModelIds String[] Eine Liste von Modell-IDs für das Gerät. Jedes Modell ist eine GUID in Form einer Zeichenkette.
System.Devices.AepContainer.ModelName String Der Modellname des Geräts.
System.Devices.AepContainer.ProtocolIds GUID[] Eine Liste der Protokoll-IDs, die zur Erstellung dieses AssociationEndpointContainer-Objekts beigetragen haben. Beachten Sie, dass ein AssociationEndpointContainer Gerät durch das Sammeln aller AssociationEndpoint Geräte, die über verschiedene Protokolle für dasselbe physische Gerät entdeckt wurden, erstellt wird.
System.Devices.AepContainer.SupportedUriSchemes String[] Liste der von diesem Gerät unterstützten Casting-URI-Schemata.
System.Devices.AepContainer.SupportsAudio Boolean Zeigt an, ob dieses Gerät Audio-Casting unterstützt.
System.Devices.AepContainer.SupportsImages Boolean Zeigt an, ob dieses Gerät Image-Casting unterstützt.
System.Devices.AepContainer.SupportsVideo Boolean Zeigt an, ob dieses Gerät Video-Casting unterstützt.
System.ItemNameDisplay String Der beste Anzeigename für das Gerät.

 

AssociationEndpointService-Eigenschaften

Name Typ Beschreibung
System.Devices.AepService.AepId String Die Kennung des übergeordneten AssociationEndpoint-Objekts.
System.Devices.AepService.ContainerId GUID Der Bezeichner des übergeordneten AssociationEndpointContainer-Objekts.
System.Devices.AepService.ParentAepIsPaired Boolean Gibt an, ob das übergeordnete Objekt AssociationEndpoint mit dem System gepaart ist.
System.Devices.AepService.ProtocolId GUID Identität des Protokolls, das zur Erkennung dieses Geräts verwendet wird.
System.Devices.AepService.ServiceClassId GUID Identität des durch dieses Gerät repräsentierten Dienstes.
System.Devices.AepService.ServiceId String Identität dieses Dienstes. Dies ist auch der Wert von DeviceInformation.Id.
System.ItemNameDisplay String Der beste Anzeigename für den Dienst.