Информация
Запрошенная вами тема показана ниже. Однако эта тема не включена в библиотеку.

DeviceInformation Class

Представляет устройство.Этот класс обеспечивает доступ к известным свойствам устройства и дополнительным свойствам, заданным во время перечисления устройств.

Синтаксис


var deviceInformation = Windows.Devices.Enumeration.DeviceInformation;

Атрибуты

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

Члены

DeviceInformationКласс имеет следующие типы членов:

Методы

The DeviceInformation Класс имеет следующие методы. В C#, Visual Basic и C++ также наследует методы от Object Класс.

МетодОписание
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.

 

Свойства

DeviceInformationКласс имеет следующие свойства.

СвойствоТип доступаОписание

EnclosureLocation

Только для чтенияThe physical location of the device in its enclosure.

Id

Только для чтенияA string representing the identity of the device.

IsDefault

Только для чтенияIndicates whether this device is the default device for the class.

IsEnabled

Только для чтенияIndicates whether this device is enabled.

Name

Только для чтенияThe name of the device.

Properties

Только для чтенияProperty store containing well-known values as well as additional properties that can be specified during device enumeration.

 

Примечания

Успешное завершение FindAllAsync ведет к тому, что DeviceInformationCollection содержит объекты DeviceInformation.

Если вызов CreateWatcher выполняется успешно, объект DeviceInformation передается в событие added для каждого найденного устройства.

Свойство Name должно использоваться только в целях отображения, а не для нахождения устройства, поскольку Name может измениться из-за локализации или присвоения имени пользователем.

В случае успеха CreateFromIdAsync создает объект DeviceInformation.

Класс DeviceInformation предоставляет сведения об устройстве, а в частности, он предоставляет свойства интерфейса устройства — интерфейса, представляющего функциональные возможности, предоставленные устройством. Многофункциональные устройства могут иметь несколько интерфейсов устройства. Физический объект, который пользователь видит в качестве устройства, называется контейнером устройств и имеет такие свойства, как Manufacturer и ModelID. Список свойств, связанных с интерфейсами устройств, контейнерами устройств и другими PnP-объектами, см в списке канонических свойств в разделе Способы получения дополнительных свойств устройства или PnP-объекта. Учебники по использованию класса DeviceInformation для получения сведений об устройстве см. в разделах Извлечение дополнительных свойств для устройства или объекта PnP, Извлечение связанных объектов PnP и Краткое руководство. Перечисление контейнеров устройств.

Примеры

В этом примере инкрементно перечисляются устройства с добавлением их в список при каждом обнаружении устройства, а также с обработкой удалений и обновлений.


    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);
        }
    }


Требования

Минимальный поддерживаемый клиент

Windows 8 [Приложения для Магазина Windows, классические приложения]

Минимальный поддерживаемый сервер

Windows Server 2012 [Приложения для Магазина Windows, классические приложения]

Пространство имен

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

Metadata

Windows.winmd

 

 

Показ:
© 2015 Microsoft