So wird’s gemacht: Abrufen zusätzlicher Eigenschaften für ein Gerät oder PnP-Objekt (HTML)

[ Dieser Artikel richtet sich an Windows 8.x- und Windows Phone 8.x-Entwickler, die Windows-Runtime-Apps schreiben. Wenn Sie für Windows 10 entwickeln, finden Sie weitere Informationen unter neueste Dokumentation]

Beschreibt das Abrufen zusätzlicher Geräteeigenschaften aus einem DeviceInformation-Objekt oder PnpObject-Objekt.

Angeben zusätzlicher Eigenschaften

findAllAsync und createWatcher geben standardmäßig DeviceInformation-Objekte mit folgenden Eigenschaften zurück:

Eigenschaft Kanonischer Name
ID Nicht zutreffend Diese Eigenschaft ist die Identität des Objekts.
Name System.ItemNameDisplay
IsDefault System.Devices.IsDefault
IsEnabled System.Devices.InterfaceEnabled
EnclosureLocation System.Devices.PhysicalDeviceLocation

 

Sie können die überladenen Formen der findAllAsync-Methode und der createWatcher-Methode verwenden, die für die DeviceInformation-Klasse und PnpObject-Klasse verfügbar sind. Mit dem additionalProperties-Parameter können Sie zusätzliche Eigenschaften angeben, um sie in die Ergebnisse aufzunehmen. Hier sehen Sie wie:



// Create a set of two additional properties.
    var propertiesToRetrieve = new Array();
    propertiesToRetrieve.push("System.Devices.InterfaceClassGuid");
    propertiesToRetrieve.push("System.Devices.ContainerId");

    Windows.Devices.Enumeration.findAllAsync(selectorString, 
             propertiesToRetrieve).then(successCallback, errorCallback);)

// Handles successful completion of the findAllAsync method.
function successCallback(deviceInformationCollection) {
    var numDevices = deviceInformationCollection.length;
    if (numDevices) {
        for (var i = 0; i < numDevices; i++) {
            printProperties(document.getElementById("log"),
                 deviceInformationCollection[i].properties);
        }
    } 
}

// Handles an error completion of the findAllAsync method.
function errorCallback(e) {
    document.getElementById("statusMessage").innerHTML = 
        "Failed to find devices, error: " + e.message;
}

function printProperties(log, prop) {
    log.innerHTML += "property store count is: " + prop.size;
    var pt = prop.first();
    while (pt.hasCurrent) {
        log.innerHTML += "<br />" + pt.current.key + " := " + pt.current.value;
        pt.moveNext();
    }
    log.innerHTML += "<br />";
}

Liste kanonischer Eigenschaften

Wenn ein Eigenschaftswert keiner bestimmten Geräteschnittstelle zugeordnet ist, kann er dem Gerät zugeordnet werden, zu dem die Schnittstelle gehört, oder dem Gerätecontainerobjekt, das die sichtbaren Aspekte eines Gerätehardware-Produkts darstellt, wie den Hersteller- oder Modellnamen. Es folgen Listen der Eigenschaftsnamen für Geräteschnittstellen, Geräte und Gerätecontainer. Wie Sie zwischen Objekttypen navigieren, erfahren Sie unter Abrufen zugehöriger PnP-Objekte.

Geräteschnittstellen-Eigenschaften

Name Eigenschaft Beschreibung

System.Devices.ContainerId

DEVPKEY_Device_ContainerId

ID des Containers der Geräteschnittstelle.

System.Devices.DeviceInstanceId

DEVPKEY_Device_InstanceId

Geräteinstanz-ID des Geräts, zu dem diese Schnittstelle gehört.

System.Devices.InterfaceClassGuid

DEVPKEY_DeviceInterface_ClassGuid

Klassen-GUID der Schnittstelle.

System.Devices.InterfaceEnabled

DEVPKEY_DeviceInterface_Enabled

Gibt an, ob die Schnittstelle aktiviert ist.

System.ItemNameDisplay

DEVPKEY_NAME

Angezeigter Name der Geräteschnittstelle.

System.Storage.IsMediaRemovable

DEVPKEY_Storage_Removable_Media

Gibt an, ob die Medien des Volumes Wechselmedien sind.

System.Storage.IsPortable

DEVPKEY_Storage_Portable

Gibt an, ob der Speicherstapel den Speicher als tragbar ansieht.

 

Geräteeigenschaften

Name Eigenschaft Beschreibung

System.Devices.Children

DEVPKEY_Device_Children

Geräteinstanz-IDs der untergeordneten Elemente. Werden live vom Kernelzustand abgefragt.

System.Devices.CompatibleIds

DEVPKEY_Device_CompatibleIds

Diese Eigenschaft ist ein Zeichenfolgenwert einer variablen Größe, der die Liste der kompatiblen IDs für das Gerät enthält.

System.Devices.ContainerId

DEVPKEY_Device_ContainerId

ID des Containers des Gerätecontainers.

System.Devices.DeviceCapabilities

DEVPKEY_Device_Capabilities

Diese Eigenschaft ist ein DWORD-Wert, der einen bitweisen OR-Operator der Funktionen eines Geräts enthält. Diese Funktionen werden durch die CM_DEVCAP_Xxxxx-Bitmasken dargestellt, die in cfgmgr32.h definiert sind.

System.Devices.DeviceCharacteristics

DEVPKEY_Device_Characteristics

Diese Eigenschaft ist ein DWORD-Wert, der einen bitweisen OR-Operator der Eigenschaften eines Geräts enthält. Eine Beschreibung dieser Flags, die in wdm.h und ntddk.h definiert sind, finden Sie in den Informationen zum DeviceCharacteristics-Parameter der IoCreateDevice-Funktion.

System.Devices.DeviceHasProblem

DEVPKEY_Device_HasProblem

Diese Eigenschaft wird live vom Kernelzustand abgefragt.

System.Devices.DeviceInstanceId

DEVPKEY_Device_InstanceId

Geräteinstanz-ID.

System.Devices.HardwareIds

DEVPKEY_Device_HardwareIds

Diese Eigenschaft ist ein Zeichenfolgenwert einer variablen Größe, der die Liste der Hardware-IDs für das Gerät enthält.

System.Devices.InLocalMachineContainer

DEVPKEY_Device_InLocalMachineContainerr

Gibt an, ob devnode im Container des Computers vorhanden ist.

System.ItemNameDisplay

DEVPKEY_NAME

Name der Geräteinstanz.

 

Containereigenschaften

Name Eigenschaft und Beschreibung
System.ItemNameDisplay PKEY_NAME - Name des Containers.
System.Devices.DiscoveryMethod DEVPKEY_DeviceContainer_DiscoveryMethod - Liste der Geräteermittlungsmethoden.
System.Devices.Connected DEVPKEY_DeviceContainer_IsConnected - Gibt an, ob das Gerät verbunden ist.
System.Devices.Paired DEVPKEY_DeviceContainer_IsPaired - Gibt an, ob das Gerät gekoppelt ist.
System.Devices.Icon DEVPKEY_DeviceContainer_Icon - Pfad zum Gerätesymbol.
System.Devices.LocalMachine DEVPKEY_DeviceContainer_IsLocalMachine - Gibt an, ob dieser Container den lokalen Computer (PC) darstellt.
System.Devices.MetadataPath DEVPKEY_DeviceContainer_MetadataPath - Pfad zu den Gerätemetadaten.
System.Devices.LaunchDeviceStageFromExplorer DEVPKEY_DeviceContainer_LaunchDeviceStageFromExlplorer - Gibt an, ob Device Stage von Windows Explorer aus geöffnet werden soll.
System.Devices.DeviceDescription1 DEVPKEY_DeviceContainer_DeviceDescription1 - Beschreibung des Geräts.
System.Devices.DeviceDescription2 DEVPKEY_DeviceContainer_DeviceDescription2 - Beschreibung des Geräts.
System.Devices.NotWorkingProperly DEVPKEY_DeviceContainer_HasProblem - Gibt an, ob es im Container ein Problem gibt. TRUE, wenn DEVPKEY_DEVICE_HasProblem für ein Gerät im Container auf TRUE gesetzt ist.
System.Devices.IsShared DEVPKEY_DeviceContainer_IsSharedDevice - Gibt an, ob das Gerät freigegeben ist.
System.Devices.IsNetworkConnected DEVPKEY_DeviceContainer_IsNetworkDevice - Gibt an, ob das Gerät an das Netzwerk angeschlossen ist.
System.Devices.IsDefault DEVPKEY_DeviceContainer_IsDefaultDevice - Gibt an, ob das Gerät das Standardgerät ist.
System.Devices.Category DEVPKEY_DeviceContainer_Category_Desc_Singular - Gerätekategorie (Singular).
System.Devices.CategoryPlural DEVPKEY_DeviceContainer_Category_Desc_Singular - Gerätekategorie (Plural).
System.Devices.CategoryGroup DEVPKEY_DeviceContainer_CategoryGroup_Desc - Gerätekategoriegruppe.
System.Devices.FriendlyName DEVPKEY_DeviceContainer_FriendlyName - Angezeigter Name.
System.Devices.Manufacturer DEVPKEY_DeviceContainer_Manufacturer - Herstellername.
System.Devices.ModelName DEVPKEY_DeviceContainer_ModelName - Modellname.
System.Devices.ModelNumber DEVPKEY_DeviceContainer_ModelNumber - Modellnummer.

 

Angeben von Eigenschaften, die keinen kanonischen Namen haben

Wenn kein kanonischer Name für eine Eigenschaft angegeben wurde, kann die Eigenschaft trotzdem abgerufen werden, indem der Schlüssel als eine Zeichenfolge im Format "{Guid} pid" angegeben wird. Beispielsweise kann System.Devices.ContainerId als "{8C7ED206-3F8A-4827-B3AB-AE9E1FAEFC6C} 2" angegeben werden.

Verwandte Themen

Konzepte

Systemdefinierte Geräteeigenschaften

Einheitliches Geräteeigenschaftenmodell