Windows Dev Center

Informationen
Das angeforderte Thema wird unten angezeigt. Es ist jedoch nicht in dieser Bibliothek vorhanden.

DeviceInformation Class

Stellt ein Gerät dar. Diese Klasse ermöglicht den Zugriff auf bekannte Geräteeigenschaften sowie auf zusätzliche Eigenschaften, die während der Geräteaufzählung angegeben werden.

Syntax


var deviceInformation = Windows.Devices.Enumeration.DeviceInformation;

Attribute

[DualApiPartition()]
[MarshalingBehavior(Agile)]
[Threading(Both)]
[Version(0x06020000)]

Member

DeviceInformationKlasse hat diese Membertypen:

Methoden

The DeviceInformation Klasse hat diese Methoden. Mit C#, Visual Basic und C++ erbt es auch Methoden aus Object Klasse.

MethodeBeschreibung
CreateFromIdAsync(String) Creates a DeviceInformation object from a DeviceInformation ID.
CreateFromIdAsync(String, IIterable(String)) Creates a DeviceInformation object from a DeviceInformation ID and a list of additional properties.
CreateWatcher() Creates a DeviceWatcher for all devices.
CreateWatcher(DeviceClass) Creates a DeviceWatcher for devices matching the specified DeviceClass.
CreateWatcher(String) Creates a DeviceWatcher for devices matching the specified Advanced Query Syntax (AQS) string.
CreateWatcher(String, IIterable(String)) Creates a DeviceWatcher for devices matching the specified Advanced Query Syntax (AQS) string and the specified collection of properties.
FindAllAsync() Enumerates all DeviceInformation objects.
FindAllAsync(DeviceClass) Enumerates DeviceInformation objects of the specified class.
FindAllAsync(String) Enumerates DeviceInformation objects matching the specified Advanced Query Syntax (AQS) string.
FindAllAsync(String, IIterable(String)) Enumerates DeviceInformation objects matching the specified Advanced Query Syntax (AQS) string and including the specified collection of properties.
GetGlyphThumbnailAsync Gets a glyph for the device.
GetThumbnailAsync Returns a thumbnail image for the device.
Update Updates the properties of an existing DeviceInformation object.

 

Eigenschaften

Der DeviceInformationKlasse hat diese Eigenschaften.

EigenschaftZugriffstypBeschreibung

EnclosureLocation

SchreibgeschütztThe physical location of the device in its enclosure.

Id

SchreibgeschütztA string representing the identity of the device.

IsDefault

SchreibgeschütztIndicates whether this device is the default device for the class.

IsEnabled

SchreibgeschütztIndicates whether this device is enabled.

Name

SchreibgeschütztThe name of the device.

Properties

SchreibgeschütztProperty store containing well-known values as well as additional properties that can be specified during device enumeration.

 

Hinweise

Erfolgreicher Abschluss von FindAllAsync ergibt DeviceInformationCollection, das DeviceInformation-Objekte enthält.

Wenn ein Aufruf von CreateWatcher erfolgreich ist, wird ein DeviceInformation-Objekt an das added-Ereignis übergeben, und zwar für jedes gefundene Gerät.

Die Name-Eigenschaft sollte nur zu Anzeigezwecken und nicht zum Suchen eines Geräts verwendet werden, da sich der Name aufgrund von Lokalisierung oder dem Zuweisen eines Namens durch einen Benutzer ändern kann.

Die CreateFromIdAsync-Methode erstellt ein DeviceInformation-Objekt, wenn der Vorgang erfolgreich war.

Die DeviceInformation- Klasse stellt Geräteinformationen bereit, genauer, stellt sie Eigenschaften der Geräteschnittstelle bereit, die die vom Gerät verfügbar gemachte Funktionalität darstellt. Multifunktionsgeräte können mehr als eine Geräteschnittstelle besitzen. Das physische Objekt, das ein Benutzer als Gerät sieht, ist als Gerätecontainer bekannt und verfügt über Eigenschaften wie beispielsweise Manufacturer und ModelID. Eine Liste der Eigenschaften, die Geräteschnittstellen, Gerätecontainern und anderen PnP-Objekten zugeordnet sind, finden Sie in der Liste der kanonischen Eigenschaften unter Abrufen zusätzlicher Eigenschaften für ein Gerät oder ein PnP-Objekt. Weitere Informationen zu Lernprogrammen über die Verwendung der DeviceInformation-Klasse, um Geräteinformationen abzurufen, finden Sie unter So wird's gemacht: Abrufen zusätzlicher Eigenschaften für ein Gerät oder PnP-Objekt, So wird's gemacht: Abrufen zugehöriger PnP-Objekte und Schnellstart: Enumerieren von Gerätecontainern.

Beispiele

Dieses Beispiel zählt Geräte inkrementell auf, fügt sie bei ihrer Erkennung zu einer Liste hinzu und gibt außerdem entfernte und aktualisierte Geräte an.


    var watcher;
    var isEnumerationComplete = false;
    var deviceArray = new Array(); // Saves the enumeration results

    function WatchDevices() {
        try {
            output.innerHTML = ""; // clear output field

            watcher = 
                Windows.Devices.Enumeration.DeviceInformation.createWatcher();
            // Add event handlers
            watcher.addEventListener("added", onAdded);
            watcher.addEventListener("removed", onRemoved);
            watcher.addEventListener("updated", onUpdated);
            watcher.addEventListener("enumerationcompleted", 
                onEnumerationCompleted);
            watcher.addEventListener("stopped", onStopped);
            // Start enumerating and listening for events
            watcher.start();
        } catch (e) {
            document.getElementById("statusMessage").innerHTML = 
                "Failed to create watcher, error: " + e.message;
        }
    }

    function stopWatcher() {
        try {
            watcher.stop();
        }
        catch (e) {
            document.getElementById("statusMessage").innerHTML = 
                "Failed to stop watcher: " + e.message;
        }
    }

    function onAdded(devinfo) {
        document.getElementById("output").innerHTML += "<p>Device added: " + 
            devinfo.name + "</p>";
        deviceArray.push(devinfo);
        if (isEnumerationComplete) {
            output.innerHTML = ""; // clear output field
            printDeviceArray(document.getElementById("output"));
        }
        
    }

    function onUpdated(devUpdate) {
        document.getElementById("output").innerHTML += "<p>Device updated.</p>";
        for (var i = 0; i < deviceArray.length; i++) {
            if (deviceArray[i].id == devUpdate.id) {
                deviceArray[i].update(devUpdate);
            }
        }
        output.innerHTML = ""; // clear output field
        printDeviceArray(document.getElementById("output"));
    }

    function onRemoved(devupdate) {
        document.getElementById("output").innerHTML += "<p>Device removed.</p>";
        for (var i = 0; i < deviceArray.length; i++) {
            if (deviceArray[i].id == devupdate.id) {
                deviceArray[i].slice(devupdate);
            }
        }
        output.innerHTML = ""; // clear output field
        printDeviceArray(document.getElementById("output"));
    }

    function onEnumerationCompleted(obj) {
        isEnumerationComplete = true;
        document.getElementById("output").innerHTML += 
            "<p>Enumeration Completed.</p>";
        printDeviceArray(document.getElementById("output"));
    }

    function onStopped(obj) {
        document.getElementById("output").innerHTML += "<p>Stopped.</p>";
        if (watcher.status == Windows.Devices.Enumeration.DeviceWatcherStatus.aborted) {
           document.getElementById("output").innerHTML += 
            "<p>Enumeration stopped unexpectedly. </p>";
           document.getElementById("output").innerHTML += 
            "<p>Click the Watch button to restart enumeration.</p>";
        } else if (watcher.status == Windows.Devices.Enumeration.DeviceWatcherStatus.stopped) {
           document.getElementById("output").innerHTML += 
            "<p>You requested to stop enumeration. </p>";
           document.getElementById("output").innerHTML += 
            "<p>Click the Watch button to restart enumeration.</p>";
        }

    }


    // Prints the friendly name of the device interface, 
    // its ID (device interface path), and whether it is enabled.
    function printDevice(deviceInterface, outputDestination) {
        outputDestination.innerHTML += "<p>Name: " + 
            deviceInterface.name + "<p/>"; 
        outputDestination.innerHTML += "<p>Interface ID: " + 
            deviceInterface.id + "<p/>";    
        outputDestination.innerHTML += "<p>Enabled: " + 
            deviceInterface.isEnabled + "<p/>";
        outputDestination.innerHTML += "<br />";
    }

    function printDeviceArray(outputDestination) {
        for (var i = 0; i < deviceArray.length; i++) {
            printDevice(deviceArray[i], outputDestination);
        }
    }


Anforderungen

Mindestens unterstützter Client

Windows 8 [Windows Store-Apps, Desktop-Apps]

Mindestens unterstützter Server

Windows Server 2012 [Windows Store-Apps, Desktop-Apps]

Namespace

Windows.Devices.Enumeration
Windows::Devices::Enumeration [C++]

Metadaten

Windows.winmd

 

 

Anzeigen:
© 2015 Microsoft