デバイスまたは PnP オブジェクトの追加のプロパティを取得する方法 (HTML)

DeviceInformation または PnpObject から追加のデバイス プロパティを取得する方法を説明します。

追加のプロパティの指定

既定では、findAllAsynccreateWatcher が返す DeviceInformation オブジェクトには、次のプロパティがあります。

プロパティ 正規名
Id 該当なし。このプロパティは、オブジェクトの ID です。
Name System.ItemNameDisplay
IsDefault System.Devices.IsDefault
IsEnabled System.Devices.InterfaceEnabled
EnclosureLocation System.Devices.PhysicalDeviceLocation

 

DeviceInformation および PnpObject クラスで使用可能な findAllAsync および createWatcher メソッドのオーバーロード形式を使うことができます。次のように additionalProperties パラメーターを使うことで、結果に含める追加のプロパティを指定できます。



// 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 />";
}

正規プロパティの一覧

プロパティ値が特定のデバイス インターフェイスと関連付けられていない場合、インターフェイスがその一部であるデバイスと、または製造元やモデル名のようなデバイス ハードウェア製品の表示される部分を表すデバイス コンテナー オブジェクトと、関連付けることができます。 デバイス インターフェイス、デバイス、デバイス コンテナーのプロパティ名の一覧を次に示します。オブジェクトの種類間を移動する方法については、「関連する PnP オブジェクトの取得」をご覧ください。

デバイス インターフェイスのプロパティ

名前 プロパティ 説明

System.Devices.ContainerId

DEVPKEY_Device_ContainerId

デバイス インターフェイスのコンテナーの ID です。

System.Devices.DeviceInstanceId

DEVPKEY_Device_InstanceId

このインターフェイスが属しているデバイスのデバイス インターフェイス ID です。

System.Devices.InterfaceClassGuid

DEVPKEY_DeviceInterface_ClassGuid

インターフェイスのクラス GUID です。

System.Devices.InterfaceEnabled

DEVPKEY_DeviceInterface_Enabled

インターフェイスが有効かどうかを示します。

System.ItemNameDisplay

DEVPKEY_NAME

デバイス インターフェイスのフレンドリ名です。

System.Storage.IsMediaRemovable

DEVPKEY_Storage_Removable_Media

ボリュームのメディアがリムーバブルかどうかを示します。

System.Storage.IsPortable

DEVPKEY_Storage_Portable

ストレージ スタックがストレージをポータブルと見なすかどうかを示します。

 

デバイスのプロパティ

名前 プロパティ 説明

System.Devices.Children

DEVPKEY_Device_Children

子のデバイス インスタンス ID です。 カーネル状態からライブでクエリされます。

System.Devices.CompatibleIds

DEVPKEY_Device_CompatibleIds

このプロパティはデバイスの互換性のある ID のリストを含む multi-sz 文字列値です。

System.Devices.ContainerId

DEVPKEY_Device_ContainerId

デバイスのコンテナーの ID です。

System.Devices.DeviceCapabilities

DEVPKEY_Device_Capabilities

このプロパティはデバイスの機能のビット単位の OR を含む DWORD 値です。 これらの機能は、cfgmgr32.h で定義されている CM_DEVCAP_Xxxxx ビット マスクによって表されます。

System.Devices.DeviceCharacteristics

DEVPKEY_Device_Characteristics

このプロパティはデバイスの特性のビット単位の OR を含む DWORD 値です。 これらのフラグの説明は、wdm.h と ntddk.h で定義されています。IoCreateDevice 関数の DeviceCharacteristics パラメーターをご覧ください。

System.Devices.DeviceHasProblem

DEVPKEY_Device_HasProblem

このプロパティは、カーネル状態からライブでクエリされます。

System.Devices.DeviceInstanceId

DEVPKEY_Device_InstanceId

デバイス インスタンスの ID です。

System.Devices.HardwareIds

DEVPKEY_Device_HardwareIds

このプロパティはデバイスのハードウェア ID のリストを含む multi-sz 文字列値です。

System.Devices.InLocalMachineContainer

DEVPKEY_Device_InLocalMachineContainerr

devnode がコンピューターのコンテナー内にあるかどうかを示します。

System.ItemNameDisplay

DEVPKEY_NAME

デバイス インスタンスの名前です。

 

コンテナーのプロパティ

名前 プロパティと説明
System.ItemNameDisplay PKEY_NAME - コンテナーの名前です。
System.Devices.DiscoveryMethod DEVPKEY_DeviceContainer_DiscoveryMethod - デバイス検出方法のリストです。
System.Devices.Connected DEVPKEY_DeviceContainer_IsConnected - デバイスが接続されているかどうかを示します。
System.Devices.Paired DEVPKEY_DeviceContainer_IsPaired - デバイスがペアリングされているかどうかを示します。
System.Devices.Icon DEVPKEY_DeviceContainer_Icon - デバイスのアイコンへのパスです。
System.Devices.LocalMachine DEVPKEY_DeviceContainer_IsLocalMachine - このコンテナーがローカル コンピューター (PC) を表すかどうかを示します。
System.Devices.MetadataPath DEVPKEY_DeviceContainer_MetadataPath - デバイスのメタデータへのパスです。
System.Devices.LaunchDeviceStageFromExplorer DEVPKEY_DeviceContainer_LaunchDeviceStageFromExlplorer - エクスプローラーから Device Stage を起動するかどうかを示します。
System.Devices.DeviceDescription1 DEVPKEY_DeviceContainer_DeviceDescription1 - デバイスの説明です。
System.Devices.DeviceDescription2 DEVPKEY_DeviceContainer_DeviceDescription2 - デバイスの説明です。
System.Devices.NotWorkingProperly DEVPKEY_DeviceContainer_HasProblem - コンテナーに問題があるかどうかを示します。コンテナー内に存在するいずれかのデバイスで DEVPKEY_DEVICE_HasProblem が TRUE に設定されている場合は TRUE です。
System.Devices.IsShared DEVPKEY_DeviceContainer_IsSharedDevice - デバイスが共有されるかどうかを示します。
System.Devices.IsNetworkConnected DEVPKEY_DeviceContainer_IsNetworkDevice - デバイスがネットワークに接続されているかどうかを示します。
System.Devices.IsDefault DEVPKEY_DeviceContainer_IsDefaultDevice - デバイスが既定のデバイスかどうかを示します。
System.Devices.Category DEVPKEY_DeviceContainer_Category_Desc_Singular - デバイスのカテゴリです (単数)。
System.Devices.CategoryPlural DEVPKEY_DeviceContainer_Category_Desc_Singular - デバイスのカテゴリです (複数)。
System.Devices.CategoryGroup DEVPKEY_DeviceContainer_CategoryGroup_Desc - デバイスのカテゴリ グループです。
System.Devices.FriendlyName DEVPKEY_DeviceContainer_FriendlyName - フレンドリ名です。
System.Devices.Manufacturer DEVPKEY_DeviceContainer_Manufacturer - 製造元の名前です。
System.Devices.ModelName DEVPKEY_DeviceContainer_ModelName - モデルの名前です。
System.Devices.ModelNumber DEVPKEY_DeviceContainer_ModelNumber - モデル番号です。

 

正規名を持たないプロパティの指定

プロパティに正規名が指定されていない場合でも、"{Guid} pid" の形式の文字列としてキーを指定することにより、プロパティを取得できます。 たとえば、System.Devices.ContainerId は "{8C7ED206-3F8A-4827-B3AB-AE9E1FAEFC6C} 2" と指定できます。

関連トピック

概念

システム定義のデバイスのプロパティ

統一されたデバイス プロパティ モデル