Información
El tema que ha solicitado se muestra abajo. Sin embargo, este tema no se encuentra en la biblioteca.

DeviceInformation Class

Representa un dispositivo. Esta clase permite el acceso a las propiedades de dispositivo conocidas así como a las propiedades adicionales especificadas durante la enumeración de dispositivos.

Sintaxis


var deviceInformation = Windows.Devices.Enumeration.DeviceInformation;

Atributos

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

Members

A continuación se indican los tipos de miembros de DeviceInformation (Clase):

Métodos

The DeviceInformation Clase tiene estos métodos. Con C#, Visual Basic y C++, también hereda métodos de Object Clase.

MétodoDescripción
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.

 

Propiedades

DeviceInformationClase tiene estas propiedades.

PropiedadTipo de accesoDescripción

EnclosureLocation

De sólo lecturaThe physical location of the device in its enclosure.

Id

De sólo lecturaA string representing the identity of the device.

IsDefault

De sólo lecturaIndicates whether this device is the default device for the class.

IsEnabled

De sólo lecturaIndicates whether this device is enabled.

Name

De sólo lecturaThe name of the device.

Properties

De sólo lecturaProperty store containing well-known values as well as additional properties that can be specified during device enumeration.

 

Comentarios

La finalización correcta de FindAllAsync da como resultado un elemento DeviceInformationCollection que contiene objetos DeviceInformation.

Si se realiza correctamente una llamada a CreateWatcher, se pasa un objeto DeviceInformation al evento added para cada dispositivo encontrado.

La propiedad Name se debe utilizar solo con fines de presentación y no para encontrar un dispositivo porque Name puede cambiar debido a la localización o a que el usuario asigne un nombre.

CreateFromIdAsync crea un objeto DeviceInformation si se realiza correctamente.

La clase DeviceInformation proporciona información del dispositivo pero, más concretamente, proporciona las propiedades de la interfaz del dispositivo, la interfaz que representa la funcionalidad expuesta por el dispositivo. Los dispositivos multifunción pueden tener más de una interfaz de dispositivo. El objeto físico que un usuario consulta como dispositivo se conoce como contenedor de dispositivo, y tiene propiedades como Manufacturer y ModelID. Para obtener una lista de las propiedades asociadas a las interfaces de dispositivo, los contenedores de dispositivo y otros objetos PnP, vea la lista de propiedades canónicas en Cómo recuperar propiedades adicionales para un dispositivo o un objeto PnP. Para ver tutoriales sobre cómo utilizar la clase DeviceInformation para obtener información del dispositivo, vea Cómo recuperar propiedades adicionales para un dispositivo o un objeto PnP, Cómo recuperar objetos PnP relacionados e Inicio rápido: enumerar contenedores de dispositivo.

Ejemplos

Este ejemplo enumera los dispositivos de forma incremental, los agrega a una lista cada vez que se encuentra un dispositivo y también controla las eliminaciones y actualizaciones.


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


Requisitos

Cliente mínimo admitido

Windows 8 [Aplicaciones de la Tienda Windows, aplicaciones de escritorio]

Servidor mínimo admitido

Windows Server 2012 [Aplicaciones de la Tienda Windows, aplicaciones de escritorio]

Espacio de nombres

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

Metadatos

Windows.winmd

 

 

Mostrar:
© 2015 Microsoft