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. |