デバイス情報プロパティDevice information properties

重要な APIImportant APIs

デバイスにはそれぞれ DeviceInformation プロパティが関連付けられており、特定の情報が必要な場合やデバイス セレクターを作成する場合に使うことができます。Each device has associated DeviceInformation properties that you can use when you need specific information or when you are building a device selector. これらのプロパティを AQS フィルターとして指定して、列挙するデバイスを絞り込むことにより、指定した特徴を持つデバイスを見つけることができます。These properties can be specified an AQS filter to limit the devices that you are enumerating over in order to find the devices with the specified traits. また、各デバイスについて返される情報を指定するために使うこともできます。You can also use these properties to indicate what information you want returned for each device. これにより、アプリケーションに返されるデバイス情報を指定できます。That enables you to specify the device information that is returned to your application.

デバイス セレクターでの DeviceInformation プロパティの使い方について詳しくは、「デバイス セレクターのビルド」をご覧ください。For more information about using DeviceInformation properties in your device selector, see Build a device selector. このトピックでは、情報プロパティを要求する方法や、一般的なプロパティとその目的を確認できます。This topic goes into how to request information properties and also lists some common properties and their purpose.

DeviceInformation オブジェクトは、ID (DeviceInformation.Id)、種類 (DeviceInformation.Kind)、プロパティ バック (DeviceInformation.Properties) で構成されています。A DeviceInformation object is composed of an identity (DeviceInformation.Id), a kind (DeviceInformation.Kind), and a property bag (DeviceInformation.Properties). DeviceInformation オブジェクトのその他のプロパティはすべて Properties プロパティ バッグから派生します。All of the other properties of a DeviceInformation object are derived from the Properties property bag. たとえば、NameSystem.ItemNameDisplay から派生します。For example, Name is derived from System.ItemNameDisplay. つまり、このプロパティ バッグには、その他のプロパティを決定するために必要な情報が常に含まれています。This means that the property bag always contains the information necessary to determine the other properties.

プロパティの要求Requesting properties

DeviceInformation オブジェクトには、IdKind などの基本的なプロパティがいくつか用意されていますが、ほとんどのプロパティは、Properties の下にあるプロパティ バッグに格納されています。A DeviceInformation object has some basic properties, such as Id and Kind, but most of the properties are stored in a property bag under Properties. このため、プロパティ バッグには、プロパティ バッグからプロパティを提供するのに使われるプロパティが含まれています。Because of this, the property bag contains the properties used to source the properties out of the property bag. たとえば、System.ItemNameDisplay を使うと、Name プロパティを提供できます。For example, use System.ItemNameDisplay to source the Name property. これは、わかりやすい名前を持つ一般的な既知のプロパティの一例です。This is a case of a common and well-known property that has a user-friendly name. このように、Windows はわかりやすい名前を付け、プロパティの照会を簡単にしています。Windows provides several of these user-friendly names to make querying for properties easier.

要求できるプロパティは、わかりやすい名前を持つ一般的なプロパティだけではありません。When you are requesting properties, you are not limited to the common properties with user-friendly names. 基になる GUID とプロパティ ID (PID) を指定することで、個別のデバイスまたはドライバーによって提供されたカスタム プロパティも含め、利用可能なすべてのプロパティを要求できます。You can specify the underlying GUID and property ID (PID) to request any property that is available, even custom properties that are supplied by an individual device or driver. カスタム プロパティの指定形式は「{GUID} PID」です。The format for specifying a custom property is "{GUID} PID". 例:"{744e3bed-3684-4e16-9f8a-07953a8bf2ab} 7"。For example: "{744e3bed-3684-4e16-9f8a-07953a8bf2ab} 7".

注意

デバイス ドライバーのデバイス プロパティのキーのヘッダー ファイルのプロパティの Guid の一覧が表示されます。You can find the list of property GUIDs in the device property key header file of the device driver.

一部のプロパティは、DeviceInformationKind のすべてのオブジェクトで共通していますが、ほとんどのプロパティは特定の種類に固有です。Some properties are common across all DeviceInformationKind objects, but most are unique to a specific kind. 以下のセクションでは、DeviceInformationKind ごとに並べ替えた共通プロパティの一部を紹介しています。The following sections list some common properties sorted by the individual DeviceInformationKind. さまざまな種類の関係性について詳しくは、「DeviceInformationKind」をご覧ください。For more information about how the different kinds relate to one another, see DeviceInformationKind.

DeviceInterface プロパティDeviceInterface properties

DeviceInterface は既定で最も一般的な DeviceInformationKind オブジェクトで、アプリのシナリオに使われます。DeviceInterface is the default and most common DeviceInformationKind object used in app scenarios. これは、デバイス API が別の特定の DeviceInformationKind を示さない限り使用すべきオブジェクトの種類です。This is the kind of object that you should use unless the device API indicates a different specific DeviceInformationKind.

名前Name 種類Type 説明Description
System.Devices.ContainerIdSystem.Devices.ContainerId GUIDGUID この DeviceInterface を含む Device が含まれている DeviceInformationKind.DeviceContainer の ID。Identity of the DeviceInformationKind.DeviceContainer that contains the Device containing this DeviceInterface. この値を DeviceInformationKind.DeviceContainer と共に CreateFromIdAsync に渡すと、適切なコンテナーを見つけることができます。You can pass this value to CreateFromIdAsync along with DeviceInformationKind.DeviceContainer to find the appropriate container.
System.Devices.InterfaceClassGuidSystem.Devices.InterfaceClassGuid GUIDGUID このインターフェイスが表すインターフェイス クラス GUID。The interface class GUID this interface represents.
System.Devices.DeviceInstanceIdSystem.Devices.DeviceInstanceId StringString DeviceInformationKind.Device の ID。Identity of the parent DeviceInformationKind.Device. この値を DeviceInformationKind.Device と共に CreateFromIdAsync に渡すと、適切なデバイスを見つけることができます。You can pass this value to CreateFromIdAsync along with DeviceInformationKind.Device to find the appropriate device.
System.Devices.InterfaceEnabledSystem.Devices.InterfaceEnabled ブール値Boolean インターフェイスが有効かどうかを示します。Indicates if the interface is enabled. DeviceInformation.IsEnabled はこのプロパティから派生します。DeviceInformation.IsEnabled is derived from this property.
System.Devices.GlyphIconSystem.Devices.GlyphIcon StringString グリフのアイコン パス。Icon path for the glyph.
System.Devices.IsDefaultSystem.Devices.IsDefault ブール値Boolean これが System.Devices.InterfaceClassGuid の既定のデバイスかどうかを示します。Indicates whether this is the default device for the System.Devices.InterfaceClassGuid. これは主にプリンターに使われます。This is mainly used for printers. オーディオの既定値が複数存在するため、これはオーディオでは機能しません。This does not work for audio since there are multiple audio defaults. オーディオの既定値を取得するには、GetDefaultAudioRenderId または GetDefaultAudioCaptureId を使います。Use GetDefaultAudioRenderId or GetDefaultAudioCaptureId to get audio defaults.
System.Devices.IconSystem.Devices.Icon StringString アイコンのパス。Icon path.
System.ItemNameDisplaySystem.ItemNameDisplay StringString デバイス オブジェクトに最適な表示名。The best display name for the device object.

 

デバイス プロパティDevice properties

名前Name 種類Type 説明Description
System.Devices.ClassGuidSystem.Devices.ClassGuid GUIDGUID デバイスのインストール時に使われるデバイス クラス。Device class used during device installation. 詳しくは、「デバイス セットアップ クラス」をご覧ください。For more information, see Device Setup Classes.
System.Devices.CompatibleIdsSystem.Devices.CompatibleIds 文字列[]String[] デバイスの互換性 ID。The compatible ids of the device. Windows がデバイスにインストールする最適なドライバーを決める場合に、これらが使われます。These are used when Windows is determining the best driver to install on the device. 詳しくは、「互換性 ID」をご覧ください。For more information, see Compatible ID.
System.Devices.ContainerIdSystem.Devices.ContainerId GUIDGUID このデバイスを含む DeviceInformationKind.DeviceContainer の ID。Identity of the DeviceInformationKind.DeviceContainer that includes this device. この値を DeviceInformationKind.DeviceContainer と共に CreateFromIdAsync に渡すと、適切なコンテナーを見つけることができます。You can pass this value to CreateFromIdAsync along with DeviceInformationKind.DeviceContainer to find the appropriate container.
System.Devices.DeviceCapabilitiesSystem.Devices.DeviceCapabilities UInt32UInt32 CM のビットごとの OR_DEVCAP_機能フラグで定義されている X CfgMgr32.hします。A bitwise-OR of the CM_DEVCAP_X capabilities flags that are defined in CfgMgr32.h. 詳細については、次を参照してください。 DEVPKEY_デバイス_機能します。For more information, see DEVPKEY_Device_Capabilities.
System.Devices.DeviceHasProblemSystem.Devices.DeviceHasProblem ブール値Boolean デバイスには現在問題があり、正しく機能していないと考えられます。The device currently has a problem and is likely not functioning correctly. ドライバーが古いか、見つからないか、無効である可能性があります。This could be due to an outdated, missing, or invalid driver.
System.Devices.DeviceInstanceIdSystem.Devices.DeviceInstanceId StringString デバイスの ID。The identity of the device. これは DeviceInformation.Id の値でもあります。This is also the value of DeviceInformation.Id.
System.Devices.DeviceManufacturerSystem.Devices.DeviceManufacturer StringString デバイスの製造元。The manufacturer of the device.
System.Devices.HardwareIdsSystem.Devices.HardwareIds 文字列[]String[] デバイスのハードウェア ID。The hardware ids of the device. インストールに最適なドライバーを決める場合に、Windows がこれらの ID を使います。Windows uses these ids when determining the best driver to install. デバイスのベンダーは、このプロパティを使ってアプリからデバイスを識別します。Device vendors can use this property to identify their device from their app. 詳しくは、「ハードウェア ID」をご覧ください。For more information, see Hardware ID.
System.Devices.ParentSystem.Devices.Parent StringString 親デバイスの DeviceInformation.IdThe DeviceInformation.Id of the parent device. これは接続親であり、DeviceContainer 親ではありません。This is the connection parent, not the DeviceContainer parent.
System.Devices.PresentSystem.Devices.Present ブール値Boolean デバイスが現在存在し、利用できるかどうかを示します。Indicates whether the device is currently present and available.
System.ItemNameDisplaySystem.ItemNameDisplay StringString このデバイス オブジェクトに最適な表示名。The best display name for this device object. この場合は、これがユーザーにとって最適な名前であるとは限りません。In this case, this is not necessarily the best name for users. 関連付けられている DeviceContainer または DeviceInterfaceSystem.ItemNameDisplay を参照すると、もっとわかりやすい名前が見つかる可能性があります。A more likely candidate for a user-friendly name could be found by referencing the System.ItemNameDisplay of the associated DeviceContainer or DeviceInterface.

 

DeviceContainer プロパティDeviceContainer properties

名前Name 種類Type 説明Description
System.Devices.CategorySystem.Devices.Category 文字列[]String[] デバイスが属しているカテゴリの説明の一覧。A list of descriptions of the categories the device belongs to. この一覧で提供されるカテゴリは単数形です。This list is provided as singular categories. たとえば、「Display」、「Phone」、または「Audio device」です。For example, "Display", "Phone", or "Audio device".
System.Devices.CategoryIdsSystem.Devices.CategoryIds 文字列[]String[] このデバイスが属しているカテゴリの一覧が含まれています。Contains a list of categories this device belongs to. たとえば、Audio.HeadphoneDisplay.Monitor、または Input.Gaming です。For example, Audio.Headphone, Display.Monitor, or Input.Gaming.
System.Devices.CategoryPluralSystem.Devices.CategoryPlural 文字列[]String[] デバイスが属しているカテゴリの説明の一覧。A list of descriptions of the categories the device belongs to. この一覧で提供されるカテゴリは複数形です。This list is provided as plural categories. たとえば、「Displays」、「Phones」、または「Audio devices」です。For example, "Displays", "Phones", or "Audio devices".
System.Devices.CompatibleIdsSystem.Devices.CompatibleIds 文字列[]String[] すべての DeviceInformationKind.Device 子オブジェクトの互換性 ID のコレクション。The collection of compatible ids for all the child DeviceInformationKind.Device objects.
System.Devices.ConnectedSystem.Devices.Connected ブール値Boolean デバイスが現在システムに接続されているかどうかを示します。Indicates whether the device is currently connected to the system or not.
System.Devices.GlyphIconSystem.Devices.GlyphIcon StringString グリフのアイコン パス。Icon path for the glyph.
System.Devices.HardwareIdsSystem.Devices.HardwareIds 文字列[]String[] すべての DeviceInformationKind.Device 子オブジェクトのハードウェア ID のコレクション。The collection of hardware ids for all the child DeviceInformationKind.Device objects.
System.Devices.IconSystem.Devices.Icon StringString アイコンのパス。Icon path.
System.Devices.LocalMachineSystem.Devices.LocalMachine ブール値Boolean この DeviceContainer がシステム自体を示す場合は True、デバイスがシステム外部にある場合は falseTrue if this DeviceContainer represents the system itself, false if the device is external to the system.
System.Devices.ManufacturerSystem.Devices.Manufacturer StringString デバイスの製造元。The manufacturer of the device.
System.Devices.ModelNameSystem.Devices.ModelName StringString デバイス コンテナーのモデル名。Model name of the device container.
System.Devices.PairedSystem.Devices.Paired ブール値Boolean DeviceInformationKind.Device 子オブジェクトのどれかが、現在システムとペアリングされたワイヤレス デバイスまたはネットワーク デバイスであるかどうかを示します。Indicates whether any of the child DeviceInformationKind.Device objects are wireless or network devices that are currently paired with the system.
System.ItemNameDisplaySystem.ItemNameDisplay StringString このデバイスに最適な表示名。The best display name for this device.

 

DeviceInterfaceClass プロパティDeviceInterfaceClass properties

名前Name 種類Type 説明Description
System.ItemNameDisplaySystem.ItemNameDisplay StringString このデバイスに最適な表示名。The best display name for this device.

 

DevicePanel プロパティDevicePanel properties

名前Name 種類Type 説明Description
System.Devices.Panel.PanelIdSystem.Devices.Panel.PanelId StringString 識別子、 DevicePanelオブジェクト。The identifier of the DevicePanel object.
System.Devices.Panel.PanelGroupSystem.Devices.Panel.PanelGroup StringString 親の識別子PanelGroupします。The identifier of the parent PanelGroup.

AssociationEndpoint プロパティAssociationEndpoint properties

名前Name 種類Type 説明Description
System.Devices.Aep.AepIdSystem.Devices.Aep.AepId StringString このデバイスの ID。Identity of this device. これは DeviceInformation.Id の値でもあります。This is also the value of DeviceInformation.Id.
System.Devices.Aep.CanPairSystem.Devices.Aep.CanPair ブール値Boolean デバイスがシステムとペアリングされているかどうかを示します。Indicates if the device can be paired with the system or not. DeviceInformationPairing.CanPair はこのプロパティから派生します。DeviceInformationPairing.CanPair is derived from this property.
System.Devices.Aep.CategorySystem.Devices.Aep.Category 文字列[]String[] デバイスが含まれるカテゴリ。The categories that the device is part of. たとえば、プリンターやカメラです。For example, printer or camera.
System.Devices.Aep.ContainerIdSystem.Devices.Aep.ContainerId GUIDGUID AssociationEndpointContainer 親オブジェクトの ID。The id of the parent AssociationEndpointContainer object.
System.Devices.Aep.DeviceAddressSystem.Devices.Aep.DeviceAddress StringString デバイスのアドレス。The address of the device. デバイスがネットワーク デバイスの場合、これは IP アドレスです。If the device is a network device, this is the IP address.
System.Devices.Aep.IsConnectedSystem.Devices.Aep.IsConnected ブール値Boolean デバイスが現在システムに接続されているかどうかを示します。Indicates if the device is currently connected to the system.
System.Devices.Aep.IsPairedSystem.Devices.Aep.IsPaired ブール値Boolean デバイスが現在ペアリングされているかどうかを示します。Indicates if the device is currently paired. DeviceInformationPairing.IsPaired はこのプロパティから派生します。DeviceInformationPairing.IsPaired is derived from this property.
System.Devices.Aep.IsPresentSystem.Devices.Aep.IsPresent ブール値Boolean デバイスが現在存在するかどうか、つまり、デバイスが使用されていて、ネットワーク プロトコルまたはワイヤレス プロトコル経由で検出されているかどうかを示します。Indicates if the device is currently present, meaning the device is live and discovered over the network or wireless protocol. デバイスとシステムをペアリングすると、デバイスはキャッシュされます。Once a device has been paired with the system, the device is cached. この後、AssociationEndpoint オブジェクトを照会すると、デバイスは自動的に検出されます。After this, the device will be automatically discovered when querying for AssociationEndpoint objects. そのため、デバイスがクエリで検出されても、現在使用可能かどうかはわかりません。Because of this, you cannot rely on just discovering the device with a query to indicate whether or not it is currently usable. したがって、このプロパティが重要になります。That is why this property is important.
System.Devices.Aep.ManufacturerSystem.Devices.Aep.Manufacturer StringString デバイスの製造元。The manufacturer of the device.
System.Devices.Aep.ModelIdSystem.Devices.Aep.ModelId GUIDGUID デバイスのモデル ID。The model id of the device.
System.Devices.Aep.ModelNameSystem.Devices.Aep.ModelName StringString デバイスのモデル名。The model name of the device.
System.Devices.Aep.ProtocolIdSystem.Devices.Aep.ProtocolId GUIDGUID この AssocationEndpoint デバイスの検出に使われたプロトコルを示します。Indicates the protocol used to discover this AssocationEndpoint device.
System.Devices.Aep.SignalStrengthSystem.Devices.Aep.SignalStrength Int32Int32 デバイスのシグナルの強さ。The signal strength of the device. このプロパティは、一部のプロトコルにのみ適用されます。This property is only applicable for some protocols.
System.ItemNameDisplaySystem.ItemNameDisplay StringString デバイスに最適な表示名。The best display name for the device.

 

AssociationEndpointContainer プロパティAssociationEndpointContainer properties

名前Name 種類Type 説明Description
System.Devices.AepContainer.CategoriesSystem.Devices.AepContainer.Categories 文字列[]String[] デバイスが含まれるカテゴリ。The categories that the device is part of. たとえば、プリンターやカメラです。For example, printer or camera.
System.Devices.AepContainer.ChildrenSystem.Devices.AepContainer.Children 文字列[]String[] このコンテナーに格納される AssocationEndpoint オブジェクトの ID のコレクション。The collection of ids for the AssocationEndpoint objects that are part of this container.
System.Devices.AepContainer.CanPairSystem.Devices.AepContainer.CanPair ブール値Boolean AssociationEndpoint デバイスのいずれかをシステムとペアリングできるかどうかを示します。Indicates if one of the child AssociationEndpoint devices can be paired with the system or not. DeviceInformationPairing.CanPair はこのプロパティから派生します。DeviceInformationPairing.CanPair is derived from this property.
System.Devices.AepContainer.ContainerIdSystem.Devices.AepContainer.ContainerId GUIDGUID このデバイスの ID。Identity of this device. これは DeviceInformation.Id の値ですが、GUID 形式の値でもあります。This is also the value of DeviceInformation.Id, but in GUID form.
System.Devices.AepContainer.IsPairedSystem.Devices.AepContainer.IsPaired ブール値Boolean AssociationEndpoint デバイスのいずれかが現在ペアリングされているかどうかを示します。Indicates if one of the child AssociationEndpoint devices is currently paired. DeviceInformationPairing.IsPaired はこのプロパティから派生します。DeviceInformationPairing.IsPaired is derived from this property.
System.Devices.AepContainer.IsPresentSystem.Devices.AepContainer.IsPresent ブール値Boolean AssociationEndpoint デバイスのいずれかが現在存在するかどうか、つまり、デバイスが使用されていて、ネットワーク プロトコルまたはワイヤレス プロトコル経由で検出されているかどうかを示します。Indicates if one of the child AssociationEndpoint devices is currently present, meaning the device is live and discovered over the network or wireless protocol. デバイスとシステムをペアリングすると、デバイスはキャッシュされます。Once a device has been paired with the system, the device is cached. この後、AssociationEndpoint オブジェクトを照会すると、デバイスは自動的に検出されます。After this, the device will be automatically discovered when querying for AssociationEndpoint objects. そのため、デバイスがクエリで検出されても、現在使用可能かどうかはわかりません。Because of this, you cannot rely on just discovering the device with a query to indicate whether or not it is currently usable. したがって、このプロパティが重要になります。That is why this property is important.
System.Devices.AepContainer.ManufacturerSystem.Devices.AepContainer.Manufacturer StringString デバイスの製造元。The manufacturer of the device.
System.Devices.AepContainer.ModelIdsSystem.Devices.AepContainer.ModelIds 文字列[]String[] デバイスのモデル ID の一覧。A list of model ids for the device. 各モデルは、string 形式の GUID です。Each model is a GUID in string form.
System.Devices.AepContainer.ModelNameSystem.Devices.AepContainer.ModelName StringString デバイスのモデル名。The model name of the device.
System.Devices.AepContainer.ProtocolIdsSystem.Devices.AepContainer.ProtocolIds GUID[]GUID[] この AssociationEndpointContainer オブジェクトの構築に関係するプロトコル ID の一覧。A list of protocol ids that have contributed to building this AssociationEndpointContainer object. AssociationEndpointContainer デバイスは、同じ物理デバイスについてさまざまなプロトコルで検出された AssociationEndpoint デバイスをすべて集めて作成されることに注意してください。Keep in mind that an AssociationEndpointContainer device is created by collecting all AssociationEndpoint devices discovered over different protocols for the same physical device.
System.Devices.AepContainer.SupportedUriSchemesSystem.Devices.AepContainer.SupportedUriSchemes 文字列[]String[] このデバイスでサポートされているキャスト URI スキームの一覧。List of casting URI schemes supported by this device.
System.Devices.AepContainer.SupportsAudioSystem.Devices.AepContainer.SupportsAudio ブール値Boolean このデバイスがオーディオのキャストをサポートしているかどうかを示します。Indicates if this device supports audio casting.
System.Devices.AepContainer.SupportsImagesSystem.Devices.AepContainer.SupportsImages ブール値Boolean このデバイスがイメージのキャストをサポートしているかどうかを示します。Indicates if this device supports image casting.
System.Devices.AepContainer.SupportsVideoSystem.Devices.AepContainer.SupportsVideo ブール値Boolean このデバイスがビデオのキャストをサポートしているかどうかを示します。Indicates if this device supports video casting.
System.ItemNameDisplaySystem.ItemNameDisplay StringString デバイスに最適な表示名。The best display name for the device.

 

AssociationEndpointService プロパティAssociationEndpointService properties

名前Name 種類Type 説明Description
System.Devices.AepService.AepIdSystem.Devices.AepService.AepId StringString AssociationEndpoint 親オブジェクトの ID。The identifier of the parent AssociationEndpoint object.
System.Devices.AepService.ContainerIdSystem.Devices.AepService.ContainerId GUIDGUID AssociationEndpointContainer 親オブジェクトの ID。The identifier of the parent AssociationEndpointContainer object.
System.Devices.AepService.ParentAepIsPairedSystem.Devices.AepService.ParentAepIsPaired ブール値Boolean AssociationEndpoint 親オブジェクトがシステムとペアリングしているかどうかを示します。Indicates whether the parent AssociationEndpoint object is paired with the system.
System.Devices.AepService.ProtocolIdSystem.Devices.AepService.ProtocolId GUIDGUID このデバイスの検出に使われるプロトコルの ID。Identity of the protocol used to discover this device.
System.Devices.AepService.ServiceClassIdSystem.Devices.AepService.ServiceClassId GUIDGUID このデバイスで表されるサービスの ID。Iidentity of the service represented by this device.
System.Devices.AepService.ServiceIdSystem.Devices.AepService.ServiceId StringString このサービスの ID。Identity of this service. これは DeviceInformation.Id の値でもあります。This is also the value of DeviceInformation.Id.
System.ItemNameDisplaySystem.ItemNameDisplay StringString このサービスに最適な表示名。The best display name for the service.