Поделиться через


DeviceInformationKind Перечисление

Определение

Определяет константы, указывающие тип объекта DeviceInformation .

public enum class DeviceInformationKind
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
enum class DeviceInformationKind
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
public enum DeviceInformationKind
var value = Windows.Devices.Enumeration.DeviceInformationKind.unknown
Public Enum DeviceInformationKind
Наследование
DeviceInformationKind
Атрибуты

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v1.0)

Поля

AssociationEndpoint 5

Объект DeviceInformation представляет конечную точку связи устройств (AEP). AEP обычно представляют устройство, обнаруженное по беспроводному или сетевому протоколу. Некоторые из этих конечных точек можно использовать без предварительного связывания устройства. Используйте CanPair , чтобы определить, поддерживает ли устройство связывание, и IsPaired , чтобы определить, связано ли устройство с системой. Только объекты AssociationEndpoint имеют значение, отличное от NULL, для связывания. Дополнительные сведения о связывании по сети см. в разделе Перечисление устройств по сети. Объект AssociationEndpoint является дочерним по отношению к одному объекту AssociationEndpointContainer и может содержать 0 или более объектов AssociationEndpointService .

Идентификатор этого объекта.

AssociationEndpointContainer 6

Объект DeviceInformation представляет контейнер конечной точки ассоциации (AEP). Объект AssociationEndpointContainer представляет одно физическое устройство, с которым может быть связано несколько объектов AssociationEndpoint . Например, если телевизор поддерживает два разных сетевых протокола, AssociationEndpointContainer будет телевизором. Он также будет иметь два объекта AssociationEndpoint для представления каждого протокола.

Идентификатор для этого объекта представляет собой GUID контейнера AEP в виде строки.

AssociationEndpointProtocol 9

Объект DeviceInformation представляет протокол, с помощью которого можно обнаружить конечные точки ассоциации (AEP). Вы можете область обнаружение конечной точки связи с определенными протоколами с помощью идентификатора протокола. Например, следующий селектор ограничивает обнаружение Bluetooth LE или Bluetooth Classic.

Дополнительные сведения см. в разделе Примечания .

AssociationEndpointService 7

Объект DeviceInformation представляет службу конечной точки ассоциации (AEP). Объект AssociationEndpointService представляет контракт функциональной службы, предоставляемый устройством. Не все протоколы поддерживают службы AEP. AssociationEndpointService может иметь один родительский объект AssociationEndpointContainer.

Идентификатор этого объекта в виде строки.

Device 3

Объект DeviceInformation представляет объект устройства. Это также можно называть devnode. Эти устройства представляют собой объекты, представляющие часть функциональных возможностей устройства и при необходимости на них загружаются драйверы. Когда физическое устройство связано с Windows, для него создается несколько объектов Device . Устройство содержит 0 или более объектов DeviceInterface , является дочерним для одного объекта DeviceContainer и связано с 0 или 1 объектами AssociationEndpoint .

Идентификатор этого объекта — это идентификатор экземпляра устройства для этого объекта.

DeviceContainer 2

Объект DeviceInformation представляет контейнер устройства. Объекты DeviceContainer описывают коллекцию объектов устройств, которые существуют на одном физическом устройстве. Например, многофункциональный принтер может содержать несколько различных устройств, но все они будут существовать как часть родительского объекта DeviceContainer .

Идентификатор для этого объекта — это GUID контейнера устройства в виде строки.

DeviceInterface 1

Объект DeviceInformation представляет интерфейс устройства PnP. Они предоставляются драйверами устройств, чтобы позволить приложению взаимодействовать с устройством, как правило, с помощью IOCTLS устройства (элементы управления входным выводом).

Этот тип объекта DeviceInformation содержит все свойства объекта PnP DeviceInterface , а также некоторые свойства родительского объекта PnP DeviceContainer . Это сочетание свойств может быть представлено пользователю, когда пользователю нужно выбрать устройство для выполнения сценария приложения. Объект DeviceInterface может быть дочерним только для одного объекта DeviceContainer .

Это deviceInformationKind по умолчанию при перечислении устройств без указания определенного типа.

Идентификатор для этого объекта — это идентификатор интерфейса устройства или путь к интерфейсу устройства.

DeviceInterfaceClass 4

Объект DeviceInformation представляет класс интерфейса устройства. Каждый объект DeviceInterface принадлежит определенному классу DeviceInterfaceClass. Это похоже на определение контракта. Эти контракты представлены идентификатором и свойствами, как и любой другой объект PnP. Объекты DeviceInterfaceClass содержат немного больше информации, чем уникальный идентификатор и, возможно, имя.

Идентификатор для этого объекта представляет собой GUID класса интерфейса устройства в виде строки.

DevicePanel 8

Объект DeviceInformation представляет одну физическую грань корпуса устройства.

Идентификатор этого объекта в виде строки.

Unknown 0

Объект имеет неизвестный тип. Это значение не используется.

Комментарии

Значение DeviceInformationKind можно передать различным API перечисления, чтобы указать конкретный тип устройства, которое требуется перечислить. В большинстве случаев вы получите DeviceInformation из селектора устройства. Сведения о перечислении определенных типов устройств с помощью DeviceInformationKind см. в статье Перечисление устройств.

На следующей схеме показано, как различные типы устройств взаимодействуют друг с другом. Он также указывает свойства, которые связывают связи друг с другом. По соображениям производительности многие связи идут только в одном направлении. Исключением является AepContainer. Он содержит список своих дочерних объектов благодаря System.Devices.AepContainer.Children.

Связи DeviceInformationKind

Каждая строка на схеме выше представляет, как определяются связи между типами объектов. Первичный объект имеет идентификатор основного объекта. Кроме того, в связанном объекте есть свойство, значение которого равно идентификатору основного объекта.

Например, для Объекта DeviceInterfaceClass имеется от 0 до N объектов DeviceInterfaceClass. Таким образом, существуют объекты DeviceInterface от 0 до N, которые относятся к классу интерфейса устройства, представленному объектом DeviceInterfaceClass . Идентификатор основного объекта DeviceInterfaceClass — это GUID класса интерфейса устройства. Объекты DeviceInterface, в свою очередь, имеют свойство с именем DEVPKEY_DeviceInterface_ClassGuid. Значение этого свойства (GUID) указывает, что такое класс интерфейса устройства объекта DeviceInterface (то есть тип интерфейса). И, конечно, это значение равно идентификатору основного объекта связанного объекта DeviceInterfaceClass .

Давайте рассмотрим еще несколько примеров. Ниже приведен пример сопоставления объектов устройства на веб-камере. Вы увидите один контейнер, четыре узла устройства (сокращенно devnodes), а развернутый devnode имеет пять интерфейсов устройств (три из которых включены).

Объекты устройств для веб-камеры

Просмотрев свойства выбранного (выделенного) интерфейса устройства, можно увидеть, как эти свойства используются для связывания объектной модели. На самом деле показаны имена ключей версий Win32 (например, DEVPKEY_DeviceInterface_ClassGuid). В среда выполнения Windows (WinRT) свойства сопоставляются системой свойств (см. раздел Устройства (система свойств Windows)), поэтому эквивалентом DEVPKEY_DeviceInterface_ClassGuid является System.Device.InterfaceClassGuid.

X

Например, если вы знаете идентификатор класса интерфейса устройства (также известный как GUID класса), вы можете найти объект класса интерфейса устройства с этим идентификатором (который является его основным идентификатором). На рисунке ниже показано, что это просто класс интерфейса устройства Камеры . и вы увидите дополнительные сведения об этом классе интерфейса устройства. Любой интерфейс устройства, который находится в этом классе интерфейса устройства, будет иметь значение свойства DEVPKEY_DeviceInterface_ClassGuid , равное GUID класса, показанного ниже.

X

Вот еще один пример. это время гарнитуры Bluetooth. Выбран devnode. Выделен идентификатор AEP, с которым он сопоставляется для объекта конечной точки связи. Здесь показана связь между объектами Device и объектами Aep . DEVPKEY_Aep_AepId (Win32) или System.Devices.Aep.AepId (WinRT) — это способ сопоставления этих двух типов объектов. Devnode будет иметь значение свойства DEVPKEY_Aep_AepId , если он из парного устройства. Затем это значение можно использовать для поиска объекта Aep , основной идентификатор которого соответствует значению.

X

Ниже приведен пример devnode, который показывает, к какой панели он принадлежит, а также его идентификатор. Панель представляет USB-порты в верхней части корпуса персонального компьютера. Здесь показана связь между DevicePanel (в верхней части рисунка) и Устройством (или devnode; в нижней части рисунка). Devnodes и интерфейсы устройств могут иметь значение свойства System.Devices.Panel.PanelId . Затем это значение можно использовать для поиска объекта DevicePanel , идентификатор ядра которого соответствует значению.

X

Для константы AssociationEndpointProtocol пример строки селектора AQS:

System.Devices.Aep.ProtocolId:="{e0cbf06c-cd8b-4647-bb8a-263b43f0f974}" (для Bluetooth Classic) или System.Devices.Aep.ProtocolId:=:"{bb7bb05e-5972-42b5-94fc-76eaa7084d49}" (для Bluetooth LE).

System.Devices.Aep.ProtocolId — это имя протокола в propsys; и DEVPKEY_Aep_ProtocolId — win32 DEVPKEY.

Ниже приведен репрезентативный пример того, как выглядит перечисление протокола и как оно соответствует свойствам AEP (с заметками в квадратных скобках).

> pairtool /enum-protocols
...
Protocol ID:                Bluetooth [DEVPKEY_Aep_ProviderName]
Protocol Provider Name:     Bluetooth
Protocol Name:              Bluetooth Classic
Universal Protocol ID:      {e0cbf06c-cd8b-4647-bb8a-263b43f0f974} [DEVPKEY_Aep_ProtocolId // <propertyDescription name="System.Devices.Aep.ProtocolId" formatID="{3B2CE006-5E61-4FDE-BAB8-9B8AAC9B26DF}" propID="5">]
Protocol Provider Class ID: {4aa383d6-337a-43d3-a3fa-c14b26004130}

Protocol ID:                BluetoothLE [DEVPKEY_Aep_ProviderName]
Protocol Provider Name:     BluetoothLE
Protocol Name:              Bluetooth Low Energy
Universal Protocol ID:      {bb7bb05e-5972-42b5-94fc-76eaa7084d49} [DEVPKEY_Aep_ProtocolId]
Protocol Provider Class ID: {0829c308-d361-49f4-828b-506d552029ef} 
...
> pairtool /enum-endpoints

BluetoothLE#BluetoothLEdc:46:28:6a:16:01-20:4c:03:45:07:ca
  1)DEVPKEY_Aep_ContainerId [SYS] (null) DEVPROP_TYPE_GUID 16 {72888bff-567a-54f9-861a-73a3f2df469c} 
...
  30)DEVPKEY_Aep_ProviderName [SYS] (null) DEVPROP_TYPE_STRING 24 "BluetoothLE"
  33)DEVPKEY_Aep_ProtocolId [SYS] (null) DEVPROP_TYPE_GUID 16 {bb7bb05e-5972-42b5-94fc-76eaa7084d49}

Журнал версий

Версия Windows Версия пакета SDK Добавленная стоимость
1809 17763 DevicePanel

Применяется к

См. также раздел