デバイスまたは PnP オブジェクトの追加のプロパティを取得する方法 (HTML)
DeviceInformation または PnpObject から追加のデバイス プロパティを取得する方法を説明します。
追加のプロパティの指定
既定では、findAllAsync と createWatcher が返す 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" と指定できます。
関連トピック
概念