Geräteinformationseigenschaften

Jedes Gerät hat DeviceInformation Eigenschaften zugeordnet, die Sie verwenden können, wenn Sie bestimmte Informationen benötigen oder wenn Sie eine Geräteauswahl erstellen. Ein AQS-Filter (Advanced Query Syntax) kann verwendet werden, um diese Eigenschaften anzugeben und die aufgezählten Geräte mit den angegebenen Merkmalen einzuschränken. Sie können diese Eigenschaften auch verwenden, um anzugeben, welche Informationen für jedes Gerät zurückgegeben werden sollen. Auf diese Weise können Sie die Geräteinformationen angeben, die an Ihre Anwendung zurückgegeben werden.

Weitere Informationen zur Verwendung von DeviceInformation Eigenschaften in der Geräteauswahl finden Sie unter Build a device selector. In diesem Thema wird gezeigt, wie Sie Informationseigenschaften anfordern und einige allgemeine Eigenschaften beschreiben.

Ein DeviceInformation-Objekt besteht aus einer ID (DeviceInformation.Id), einem Typ (DeviceInformation.Kind) und einer Eigenschaftensammlung (DeviceInformation.Properties). Alle anderen Eigenschaften eines DeviceInformation-Objekts werden vom Eigenschaftenbehälter "Eigenschaften" abgeleitet. Beispielsweise wird Name von System.ItemNameDisplay abgeleitet. Dies bedeutet, dass der Eigenschaftenbehälter immer die erforderlichen Informationen enthält, um die anderen Eigenschaften zu bestimmen.

Eigenschaften anfordern

Ein DeviceInformation-Objekt verfügt über einige grundlegende Eigenschaften, wie Id und Kind, aber die meisten Eigenschaften werden in einem Eigenschaftenbehälter unter Properties gespeichert. Aus diesem Grund enthält die Property Bag die Eigenschaften, die verwendet werden, um Eigenschaften aus der Property Bag abzurufen. Verwenden Sie beispielsweise System.ItemNameDisplay , um die Name-Eigenschaft zu erstellen. Dies ist ein häufiger und bekannter Fall einer Eigenschaft, die einen benutzerfreundlichen Namen hat. Windows bietet mehrere dieser benutzerfreundlichen Namen, um die Abfrage nach Eigenschaften zu vereinfachen.

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

Note

Sie finden die Liste der Eigenschaften-GUIDs in der Headerdatei des Geräteeigenschaftenschlüssels des Gerätetreibers.

Einige Eigenschaften sind für alle DeviceInformationKind-Objekte gemeinsam, aber die meisten sind für eine bestimmte Art einzigartig. In den folgenden Abschnitten werden einige allgemeine Eigenschaften aufgeführt, die nach den einzelnen DeviceInformationKind-Objekten sortiert sind. Weitere Informationen dazu, wie die verschiedenen Arten miteinander zusammenhängen, finden Sie unter DeviceInformationKind.

Eigenschaften von DeviceInterface

DeviceInterface ist das Standardobjekt und das am häufigsten verwendete DeviceInformationKind-Objekt in App-Szenarien. Dies ist die Art des Objekts, das Sie verwenden sollten, es sei denn, die Geräte-API gibt eine andere bestimmte DeviceInformationKind an.

Name Typ Description
System.Devices.ContainerId GUID Die Identität des DeviceInformationKind.DeviceContainer, das das Gerät enthält, das dieses DeviceInterface enthält. Sie können diesen Wert zusammen mit DeviceInformationKind.DeviceContainer an CreateFromIdAsync übergeben, um den entsprechenden Container zu finden.
System.Devices.InterfaceClassGuid GUID Die GUID der Schnittstellenklasse, die von dieser Schnittstelle repräsentiert wird.
System.Devices.DeviceInstanceId String Identität des übergeordneten Geräts DeviceInformationKind.Device. Sie können diesen Wert zusammen mit DeviceInformationKind.Device an CreateFromIdAsync übergeben, um das entsprechende Gerät zu finden.
System.Devices.InterfaceEnabled Boolean Gibt an, ob die Schnittstelle aktiviert ist. DeviceInformation.IsEnabled wird von dieser Eigenschaft abgeleitet.
System.Devices.GlyphIcon String Symbolpfad für die Glyphe.
System.Devices.IsDefault Boolean Gibt an, ob dies das Standardgerät für system.Devices.InterfaceClassGuid ist. Dies wird hauptsächlich für Drucker verwendet. Dies funktioniert nicht für Audio, da mehrere Audiostandardwerte vorhanden sind. Verwenden Sie "GetDefaultAudioRenderId " oder "GetDefaultAudioCaptureId ", um Audiostandardwerte abzurufen.
System.Devices.Icon String Symbolpfad.
System.ItemNameDisplay String Der beste Anzeigename für das Geräteobjekt.

 

Geräteeigenschaften

Name Typ Description
System.Devices.ClassGuid GUID Während der Geräteinstallation verwendete Geräteklasse. Weitere Informationen finden Sie unter Klassen für die Geräteeinrichtung.
System.Devices.CompatibleIds String[] Die kompatiblen IDs des Geräts. Diese werden verwendet, wenn Windows den besten Treiber für die Installation auf dem Gerät bestimmt. Weitere Informationen finden Sie unter "Kompatible ID".
System.Devices.ContainerId GUID Die Identität des DeviceInformationKind.DeviceContainer,das dieses Gerät enthält. Sie können diesen Wert zusammen mit DeviceInformationKind.DeviceContainer an CreateFromIdAsync übergeben, um den entsprechenden Container zu finden.
System.Devices.DeviceCapabilities UInt32 Eine bitweise ODER-Verknüpfung der in CfgMgr32.h definierten CM_DEVCAP_X-Fähigkeitsflags. Weitere Informationen finden Sie unter DEVPKEY_Device_Capabilities.
System.Devices.DeviceHasProblem Boolean Das Gerät hat derzeit ein Problem und funktioniert wahrscheinlich nicht ordnungsgemäß. Dies kann 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 des Geräts. Windows verwendet diese IDs, wenn ermittelt wird, welcher Treiber am besten installiert werden soll. Gerätehersteller können diese Eigenschaft verwenden, um ihr Gerät über ihre App zu identifizieren. Weitere Informationen finden Sie unter Hardware-ID.
System.Devices.Parent String Die DeviceInformation.Id des übergeordneten Geräts. Dies ist das übergeordnete Element der Verbindung, nicht das übergeordnete Element von DeviceContainer.
System.Devices.Present Boolean Gibt 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 Benutzer. Ein geeigneterer Kandidat für einen benutzerfreundlichen Namen könnte durch Verweis auf System.ItemNameDisplay des zugeordneten DeviceContainer oder DeviceInterface gefunden werden.

 

DeviceContainer-Eigenschaften

Name Typ Description
System.Devices.Category String[] Eine Liste der Beschreibungen der Kategorien, zu der das Gerät gehört. Diese Liste wird in Form einzelner Kategorien bereitgestellt. Beispiel: "Display", "Phone" oder "Audiogerät".
System.Devices.CategoryIds String[] Enthält eine Liste der Kategorien, zu der dieses Gerät gehört. Beispiel: Audio.Headphone, Display.Monitor oder Input.Gaming.
System.Devices.CategoryPlural String[] Eine Liste der Beschreibungen der Kategorien, zu der das Gerät gehört. Diese Liste wird als Pluralkategorien bereitgestellt. Beispiel: "Displays", "Phones" oder "Audiogeräte".
System.Devices.CompatibleIds String[] Die Sammlung kompatibler IDs für alle untergeordneten DeviceInformationKind.Device-Objekte.
System.Devices.Connected Boolean Gibt an, ob das Gerät derzeit mit dem System verbunden ist oder nicht.
System.Devices.GlyphIcon String Symbolpfad für die Glyphe.
System.Devices.HardwareIds String[] Die Sammlung von Hardware-IDs für alle untergeordneten DeviceInformationKind.Device-Objekte.
System.Devices.Icon String Symbolpfad.
System.Devices.LocalMachine Boolean True , wenn dieser DeviceContainer das System selbst darstellt, false , wenn das Gerät außerhalb des Systems ist.
System.Devices.Manufacturer String Der Hersteller des Geräts.
System.Devices.ModelName String Modellname des Gerätecontainers.
System.Devices.Paired Boolean Gibt an, ob eines der untergeordneten DeviceInformationKind.Device-Objekte drahtlos oder Netzwerkgeräte sind, die derzeit mit dem System gekoppelt sind.
System.ItemNameDisplay String Optimaler Anzeigename für dieses Gerät.

 

DeviceInterfaceClass-Eigenschaften

Name Typ Description
System.ItemNameDisplay String Optimaler Anzeigename für dieses Gerät.

 

DevicePanel-Eigenschaften

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

AssociationEndpoint-Eigenschaften

Name Typ Description
System.Devices.Aep.AepId String Identität dieses Geräts. Dies ist auch der Wert von DeviceInformation.Id.
System.Devices.Aep.CanPair Boolean Gibt an, ob das Gerät mit dem System gekoppelt werden kann. DeviceInformationPairing.CanPair wird von dieser Eigenschaft abgeleitet.
System.Devices.Aep.Category String[] Die Kategorien, zu denen das Gerät gehört. Beispielsweise Drucker oder Kamera.
System.Devices.Aep.ContainerId GUID Die ID des übergeordneten AssociationEndpointContainer-Objekts .
System.Devices.Aep.DeviceAddress String Die Adresse des Geräts. Wenn es sich bei dem Gerät um ein Netzwerkgerät handelt, handelt es sich um die IP-Adresse.
System.Devices.Aep.IsConnected Boolean Gibt an, ob das Gerät derzeit mit dem System verbunden ist.
System.Devices.Aep.IsPaired Boolean Gibt an, ob das Gerät derzeit gekoppelt ist. DeviceInformationPairing.IsPaired wird von dieser Eigenschaft abgeleitet.
System.Devices.Aep.IsPresent Boolean Gibt an, ob das Gerät derzeit vorhanden ist, was bedeutet, dass das Gerät live ist und über das Netzwerk- oder Drahtlosprotokoll ermittelt wird. Sobald ein Gerät mit dem System gekoppelt wurde, wird das Gerät zwischengespeichert. Danach wird das Gerät beim Abfragen von AssociationEndpoint-Objekten automatisch erkannt. Aus diesem Grund können Sie sich nicht darauf verlassen, nur das Gerät mit einer Abfrage zu ermitteln, um anzugeben, ob es derzeit verwendet werden kann. Deshalb ist diese Eigenschaft 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, das zum Ermitteln dieses AssocationEndpoint-Geräts verwendet wird.
System.Devices.Aep.SignalStrength Int32 Die Signalstärke des Geräts. Diese Eigenschaft gilt nur für einige Protokolle.
System.ItemNameDisplay String Der beste Anzeigename für das Gerät.

 

Eigenschaften von AssociationEndpointContainer

Name Typ Description
System.Devices.AepContainer.Categories String[] Die Kategorien, zu denen das Gerät gehört. Beispielsweise Drucker oder Kamera.
System.Devices.AepContainer.Children String[] Die Auflistung der IDs für die AssocationEndpoint-Objekte , die Teil dieses Containers sind.
System.Devices.AepContainer.CanPair Boolean Gibt an, ob eines der untergeordneten AssociationEndpoint-Geräte mit dem System gekoppelt werden kann oder nicht. DeviceInformationPairing.CanPair wird von dieser Eigenschaft abgeleitet.
System.Devices.AepContainer.ContainerId GUID Identität dieses Geräts. Dies ist auch der Wert von DeviceInformation.Id, aber in GUID-Form.
System.Devices.AepContainer.IsPaired Boolean Gibt an, ob eines der untergeordneten AssociationEndpoint-Geräte derzeit gekoppelt ist. DeviceInformationPairing.IsPaired wird von dieser Eigenschaft abgeleitet.
System.Devices.AepContainer.IsPresent Boolean Gibt an, ob eines der zugehörigen AssociationEndpoint-Geräte derzeit vorhanden ist, das heißt, dass das Gerät aktiv ist und im Netzwerk bzw. über das Drahtlosprotokoll erkannt wurde. Sobald ein Gerät mit dem System gekoppelt wurde, wird das Gerät zwischengespeichert. Danach wird das Gerät beim Abfragen von AssociationEndpoint-Objekten automatisch erkannt. Aus diesem Grund können Sie sich nicht darauf verlassen, nur das Gerät mit einer Abfrage zu ermitteln, um anzugeben, ob es derzeit verwendet werden kann. Deshalb ist diese Eigenschaft wichtig.
System.Devices.AepContainer.Manufacturer String Der Hersteller des Geräts.
System.Devices.AepContainer.ModelIds String[] Eine Liste der Modell-IDs für das Gerät. Jedes Modell ist eine GUID in Zeichenfolgenform.
System.Devices.AepContainer.ModelName String Der Modellname des Geräts.
System.Devices.AepContainer.ProtocolIds GUID[] Eine Liste der Protokoll-IDs, die zum Erstellen dieses AssociationEndpointContainer-Objekts beigetragen haben. Denken Sie daran, dass ein AssociationEndpointContainer-Gerät erstellt wird, indem alle AssociationEndpoint-Geräte gesammelt werden, die über verschiedene Protokolle für dasselbe physische Gerät ermittelt wurden.
System.Devices.AepContainer.SupportedUriSchemes String[] Liste der von diesem Gerät unterstützten Casting-URI-Schemata.
System.Devices.AepContainer.SupportsAudio Boolean Gibt an, ob dieses Gerät das Übertragen von Audioinhalten per Casting unterstützt.
System.Devices.AepContainer.SupportsImages Boolean Gibt an, ob dieses Gerät die Bildwandlung unterstützt.
System.Devices.AepContainer.SupportsVideo Boolean Gibt an, ob dieses Gerät video casting unterstützt.
System.ItemNameDisplay String Der beste Anzeigename für das Gerät.

 

AssociationEndpointService-Eigenschaften

Name Typ Description
System.Devices.AepService.AepId String Der Bezeichner 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 AssociationEndpoint-Objekt mit dem System gekoppelt ist.
System.Devices.AepService.ProtocolId GUID Die Identität des Protokolls, das zum Ermitteln dieses Geräts verwendet wird.
System.Devices.AepService.ServiceClassId GUID Die Identität des Diensts, der von diesem Gerät dargestellt wird.
System.Devices.AepService.ServiceId String Identität dieses Diensts. Dies ist auch der Wert von DeviceInformation.Id.
System.ItemNameDisplay String Der beste Anzeigename für den Dienst.