Comment récupérer les propriétés supplémentaires pour un périphérique ou un objet PnP (HTML)
[ Cet article est destiné aux développeurs de Windows 8.x et Windows Phone 8.x qui créent des applications Windows Runtime. Si vous développez une application pour Windows 10, voir la Documentation ]
Décrit comment obtenir les propriétés supplémentaires à partir de DeviceInformation ou de PnpObject.
Spécification des propriétés supplémentaires
Par défaut, findAllAsync et createWatcher retournent des objets DeviceInformation qui sont dotés des propriétés suivantes :
Propriété | Nom canonique |
---|---|
ID | Non applicable Cette propriété est l'identité de l'objet. |
Nom | System.ItemNameDisplay |
IsDefault | System.Devices.IsDefault |
IsEnabled | System.Devices.InterfaceEnabled |
EnclosureLocation | System.Devices.PhysicalDeviceLocation |
Vous pouvez utiliser les formes surchargées des méthodes findAllAsync et createWatcher qui sont disponibles sur les classes DeviceInformation et PnpObject. Vous pouvez spécifier les propriétés supplémentaires à inclure dans les résultats à l’aide du paramètre additionalProperties, comme suit.
// 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 des noms canoniques
Si la valeur d’une propriété n’est pas associée à une interface de périphérique particulière, elle est peut-être associée au périphérique dont fait partie l’interface ou l’objet de conteneur de périphérique qui représente les aspects visibles d’un matériel périphérique, tels que le nom du fabricant ou le nom de modèle. Les listes suivantes sont des listes de noms de propriétés pour les interfaces de périphériques, les périphériques et les conteneurs de périphériques. Voir Récupération des objets PnP associés pour apprendre à naviguer entre les types d’objets.
Propriétés d’interface de périphérique
Nom | Propriété | Description |
---|---|---|
System.Devices.ContainerId |
DEVPKEY_Device_ContainerId |
ID du conteneur de l’interface du périphérique. |
System.Devices.DeviceInstanceId |
DEVPKEY_Device_InstanceId |
ID d’instance de périphérique du périphérique auquel appartient interface. |
System.Devices.InterfaceClassGuid |
DEVPKEY_DeviceInterface_ClassGuid |
GUID de classe de l’interface. |
System.Devices.InterfaceEnabled |
DEVPKEY_DeviceInterface_Enabled |
Indique si l’interface est activée. |
System.ItemNameDisplay |
DEVPKEY_NAME |
Nom convivial de l’interface du périphérique. |
System.Storage.IsMediaRemovable |
DEVPKEY_Storage_Removable_Media |
Indique si le média du volume est amovible. |
System.Storage.IsPortable |
DEVPKEY_Storage_Portable |
Indique si la pile de stockage considère le stockage comme étant amovible. |
Propriétés du périphérique
Nom | Propriété | Description |
---|---|---|
System.Devices.Children |
DEVPKEY_Device_Children |
ID d’instance du périphérique des enfants. Interrogé en direct à partir de l’état du noyau. |
System.Devices.CompatibleIds |
DEVPKEY_Device_CompatibleIds |
Cette propriété est une valeur de chaîne multi-sz qui contient la liste d’ID compatibles pour le périphérique. |
System.Devices.ContainerId |
DEVPKEY_Device_ContainerId |
ID du conteneur de périphérique. |
System.Devices.DeviceCapabilities |
DEVPKEY_Device_Capabilities |
Cette propriété est une valeur DWORD qui contient les opérateurs de bits OR des fonctionnalités d’un périphérique. ces fonctionnalités sont représentées par les masques de bit CM_DEVCAP_Xxxxx qui sont définis dans cfgmgr32.h. |
System.Devices.DeviceCharacteristics |
DEVPKEY_Device_Characteristics |
Cette propriété est une valeur DWORD qui contient les opérateurs de bits OR des caractéristiques d’un périphérique. Pour obtenir une description de ces indicateurs, qui sont définis dans wdm.h et ntddk.h, voir le paramètre DeviceCharacteristics de la fonction IoCreateDevice. |
System.Devices.DeviceHasProblem |
DEVPKEY_Device_HasProblem |
Cette propriété est interrogée en direct à partir de l’état du noyau. |
System.Devices.DeviceInstanceId |
DEVPKEY_Device_InstanceId |
ID d’instance du périphérique. |
System.Devices.HardwareIds |
DEVPKEY_Device_HardwareIds |
Cette propriété est une valeur de chaîne multi-sz qui contient la liste d’ID du matériel pour le périphérique. |
System.Devices.InLocalMachineContainer |
DEVPKEY_Device_InLocalMachineContainerr |
Indique si le devnode est dans le conteneur de l’ordinateur. |
System.ItemNameDisplay |
DEVPKEY_NAME |
Nom de l’interface du périphérique. |
Propriétés du conteneur
Nom | Propriété et description |
---|---|
System.ItemNameDisplay | PKEY_NAME - Nom du conteneur. |
System.Devices.DiscoveryMethod | DEVPKEY_DeviceContainer_DiscoveryMethod - Liste de méthodes de découverte de périphériques. |
System.Devices.Connected | DEVPKEY_DeviceContainer_IsConnected - Indique si le périphérique est activé. |
System.Devices.Paired | DEVPKEY_DeviceContainer_IsPaired - Indique si le périphérique est couplé. |
System.Devices.Icon | DEVPKEY_DeviceContainer_Icon - Chemin d’accès à l’icône du périphérique. |
System.Devices.LocalMachine | DEVPKEY_DeviceContainer_IsLocalMachine - Indique si ce conteneur représente l’ordinateur (PC) local ou non. |
System.Devices.MetadataPath | DEVPKEY_DeviceContainer_MetadataPath - Chemin d’accès aux métadonnées du périphérique. |
System.Devices.LaunchDeviceStageFromExplorer | DEVPKEY_DeviceContainer_LaunchDeviceStageFromExlplorer - Indique si Device Stage doit être lancé depuis l’Explorateur Windows. |
System.Devices.DeviceDescription1 | DEVPKEY_DeviceContainer_DeviceDescription1 - Description du périphérique. |
System.Devices.DeviceDescription2 | DEVPKEY_DeviceContainer_DeviceDescription2 - Description du périphérique. |
System.Devices.NotWorkingProperly | DEVPKEY_DeviceContainer_HasProblem - Indique si le conteneur a ou non un problème. TRUE si tout périphérique présent dans le conteneur DEVPKEY_DEVICE_HasProblem a la valeur TRUE. |
System.Devices.IsShared | DEVPKEY_DeviceContainer_IsSharedDevice - Indique si le périphérique est partagé. |
System.Devices.IsNetworkConnected | DEVPKEY_DeviceContainer_IsNetworkDevice - Indique si le périphérique est connecté au réseau. |
System.Devices.IsDefault | DEVPKEY_DeviceContainer_IsDefaultDevice - Indique si le périphérique est le périphérique par défaut. |
System.Devices.Category | DEVPKEY_DeviceContainer_Category_Desc_Singular - Catégorie de périphérique (singulier). |
System.Devices.CategoryPlural | DEVPKEY_DeviceContainer_Category_Desc_Singular - Catégorie de périphérique (pluriel). |
System.Devices.CategoryGroup | DEVPKEY_DeviceContainer_CategoryGroup_Desc - Groupe de catégories de périphériques. |
System.Devices.FriendlyName | DEVPKEY_DeviceContainer_FriendlyName - Nom convivial. |
System.Devices.Manufacturer | DEVPKEY_DeviceContainer_Manufacturer - Nom du fabricant. |
System.Devices.ModelName | DEVPKEY_DeviceContainer_ModelName - Nom du modèle. |
System.Devices.ModelNumber | DEVPKEY_DeviceContainer_ModelNumber - Numéro du modèle. |
Spécification des propriétés qui ne sont pas dotées de nom canonique
Si aucun nom canonique n’a été spécifié pour une propriété, elle peut quand même être récupérée en spécifiant la clé en tant que chaîne sous la forme « {Guid} pid ». Par exemple, System.Devices.ContainerId peut être spécifié sous la forme « {8C7ED206-3F8A-4827-B3AB-AE9E1FAEFC6C} 2 ».
Rubriques associées
Concepts