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


Свойства сведений об устройстве

Каждое устройство имеет связанные свойства DeviceInformation , которые можно использовать при необходимости определенных сведений или при создании селектора устройств. Фильтр расширенного синтаксиса запросов (AQS) можно использовать для указания этих свойств и ограничения перечисленных устройств указанными чертами. Эти свойства также можно использовать для указания сведений, возвращаемых для каждого устройства. Это позволяет указать сведения об устройстве, возвращаемые приложению.

Важные API

Дополнительные сведения об использовании свойств DeviceInformation в селекторе устройств см. в разделе "Создание селектора устройства". В этом разделе показано, как запрашивать свойства информации и описывать некоторые общие свойства.

Объект DeviceInformation состоит из удостоверения (DeviceInformation.Id), типа (DeviceInformation.Kind) и контейнера свойств (DeviceInformation.Properties). Все остальные свойства объекта DeviceInformation являются производными от контейнера свойств Свойства . Например, имя является производным от System.ItemNameDisplay. Это означает, что контейнер свойств всегда содержит сведения, необходимые для определения других свойств.

Запрос свойств

Объект DeviceInformation имеет некоторые основные свойства, такие как Id и Kind, но большинство свойств хранятся в контейнере свойств в разделе "Свойства". Из-за этого контейнер свойств содержит свойства, используемые для источника свойств из контейнера свойств. Например, используйте System.ItemNameDisplay для источника свойства Name . Это случай общего и известного свойства, которое имеет понятное имя. Windows предоставляет несколько из этих понятных имен, чтобы упростить запросы к свойствам.

При запросе свойств вы не ограничиваетесь общими свойствами с понятными именами. Можно указать базовый идентификатор GUID и идентификатор свойства (PID), чтобы запросить любое доступное свойство, даже настраиваемые свойства, предоставляемые отдельным устройством или драйвером. Формат указания настраиваемого свойства — "{GUID} PID". Например: "{744e3bed-3684-4e16-9f8a-07953a8bf2ab} 7".

Примечание.

Список идентификаторов GUID свойств можно найти в файле заголовка ключа свойства устройства драйвера устройства.

Некоторые свойства являются общими для всех объектов DeviceInformationKind , но большинство из них уникальны для определенного типа. В следующих разделах перечислены некоторые распространенные свойства, отсортированные по отдельным Устройствам DeviceInformationKind. Дополнительные сведения о том, как различные виды связаны друг с другом, см. в разделе DeviceInformationKind.

Свойства DeviceInterface

DeviceInterface — это стандартный и наиболее распространенный объект DeviceInformationKind , используемый в сценариях приложений. Это тип объекта, который следует использовать, если API устройства не указывает на другой конкретный объект DeviceInformationKind.

Имя. Тип Описание
System.Devices.ContainerId GUID Удостоверение DeviceInformationKind.DeviceContainer, содержащее устройство, содержащее устройство, содержащее устройство DeviceInterface. Это значение можно передать в CreateFromIdAsync вместе с DeviceInformationKind.DeviceContainer, чтобы найти соответствующий контейнер.
System.Devices.InterfaceClassGuid GUID Идентификатор GUID класса интерфейса, который представляет этот интерфейс.
System.Devices.DeviceInstanceId Строка Удостоверение родительского устройства DeviceInformationKind.Device. Это значение можно передать в CreateFromIdAsync вместе с DeviceInformationKind.Device, чтобы найти соответствующее устройство.
System.Devices.InterfaceEnabled Логический Указывает, включен ли интерфейс. DeviceInformation.IsEnabled является производным от этого свойства.
System.Devices.GlyphIcon Строка Путь значка для глифа.
System.Devices.IsDefault Логический Указывает, является ли это устройством по умолчанию для System.Devices.InterfaceClassGuid. Это в основном используется для принтеров. Это не работает для звука, так как имеется несколько значений по умолчанию. Используйте GetDefaultAudioRenderId или GetDefaultAudioCaptureId , чтобы получить звук по умолчанию.
System.Devices.Icon Строка Путь к значку.
System.ItemNameDisplay Строка Лучшее отображаемое имя объекта устройства.

 

Свойства устройства

Имя. Тип Описание
System.Devices.ClassGuid GUID Класс устройства, используемый во время установки устройства. Дополнительные сведения см. в разделе "Классы установки устройств".
System.Devices.CompatibleIds String[] Совместимые идентификаторы устройства. Они используются, когда Windows определяет лучший драйвер для установки на устройстве. Дополнительные сведения см. в разделе "Совместимый идентификатор".
System.Devices.ContainerId GUID Удостоверение DeviceInformationKind.DeviceContainer, включающее это устройство. Это значение можно передать в CreateFromIdAsync вместе с DeviceInformationKind.DeviceContainer, чтобы найти соответствующий контейнер.
System.Devices.DeviceCapabilities UInt32 Побитовое или флаги CM_DEVCAP_X возможностей, определенных в CfgMgr32.h. Дополнительные сведения см. в DEVPKEY_Device_Capabilities.
System.Devices.DeviceHasProblem Логический Устройство в настоящее время имеет проблему и, скорее всего, не работает правильно. Это может быть связано с устаревшим, отсутствующим или недопустимым драйвером.
System.Devices.DeviceInstanceId Строка Удостоверение устройства. Это также значение DeviceInformation.Id.
System.Devices.DeviceManufacturer Строка Производитель устройства.
System.Devices.HardwareIds String[] Идентификаторы оборудования устройства. Windows использует эти идентификаторы при определении лучшего драйвера для установки. Поставщики устройств могут использовать это свойство для идентификации устройства из приложения. Дополнительные сведения см. в разделе "Идентификатор оборудования".
System.Devices.Parent Строка DeviceInformation.Id родительского устройства. Это родительский элемент подключения, а не родительский элемент DeviceContainer .
System.Devices.Present Логический Указывает, присутствует ли устройство в настоящее время и доступно.
System.ItemNameDisplay Строка Лучшее отображаемое имя для этого объекта устройства. В этом случае это не обязательно лучшее имя для пользователей. Более вероятный кандидат на понятное имя можно найти, ссылаясь на System.ItemNameDisplay связанного устройства DeviceContainer или DeviceInterface.

 

Свойства DeviceContainer

Имя. Тип Описание
System.Devices.Category String[] Список описаний категорий, к которой принадлежит устройство. Этот список предоставляется как сингулярные категории. Например, "Display", "Phone" или "Audio device".
System.Devices.CategoryIds String[] Содержит список категорий, к которой принадлежит это устройство. Например, Audio.Headphone, Display.Monitor или Input.Gaming.
System.Devices.CategoryPlural String[] Список описаний категорий, к которой принадлежит устройство. Этот список предоставляется в виде категорий множественного числа. Например, "Отображает", "Телефоны" или "Звуковые устройства".
System.Devices.CompatibleIds String[] Коллекция совместимых идентификаторов для всех дочерних объектов DeviceInformationKind.Device .
System.Devices.Connected Логический Указывает, подключено ли устройство к системе.
System.Devices.GlyphIcon Строка Путь значка для глифа.
System.Devices.HardwareIds String[] Коллекция идентификаторов оборудования для всех дочерних объектов DeviceInformationKind.Device .
System.Devices.Icon Строка Путь к значку.
System.Devices.LocalMachine Логический Значение true, если этот deviceContainer представляет саму систему, значение false, если устройство является внешним для системы.
System.Devices.Manufacturer Строка Производитель устройства.
System.Devices.ModelName Строка Имя модели контейнера устройства.
System.Devices.Paired Логический Указывает, являются ли какие-либо дочерние объекты DeviceInformationKind.Device беспроводными или сетевыми устройствами, которые в настоящее время связаны с системой.
System.ItemNameDisplay Строка Лучшее отображаемое имя для этого устройства.

 

Свойства DeviceInterfaceClass

Имя. Тип Описание
System.ItemNameDisplay Строка Лучшее отображаемое имя для этого устройства.

 

Свойства DevicePanel

Имя. Тип Описание
System.Devices.Panel.PanelId Строка Идентификатор объекта DevicePanel .
System.Devices.Panel.PanelGroup Строка Идентификатор родительской панелиGroup.

Свойства AssociationEndpoint

Имя. Тип Описание
System.Devices.Aep.AepId Строка Удостоверение этого устройства. Это также значение DeviceInformation.Id.
System.Devices.Aep.CanPair Логический Указывает, можно ли связать устройство с системой или нет. DeviceInformationPairing.CanPair является производным от этого свойства.
System.Devices.Aep.Category String[] Категории, к которым относится устройство. Например, принтер или камера.
System.Devices.Aep.ContainerId GUID Идентификатор родительского объекта AssociationEndpointContainer .
System.Devices.Aep.DeviceAddress Строка Адрес устройства. Если устройство является сетевым устройством, это IP-адрес.
System.Devices.Aep.IsConnected Логический Указывает, подключено ли устройство к системе.
System.Devices.Aep.IsPaired Логический Указывает, подключено ли устройство в данный момент. DeviceInformationPairing.IsPaired является производным от этого свойства.
System.Devices.Aep.IsPresent Логический Указывает, присутствует ли устройство, то есть устройство находится в режиме реального времени и обнаруживается по сетевому или беспроводному протоколу. После связывания устройства с системой устройство кэшируется. После этого устройство будет автоматически обнаружено при запросе объектов AssociationEndpoint . Из-за этого вы не можете полагаться только на обнаружение устройства с запросом, чтобы указать, подходит ли он в настоящее время. Именно поэтому это свойство важно.
System.Devices.Aep.Manufacturer Строка Производитель устройства.
System.Devices.Aep.ModelId GUID Идентификатор модели устройства.
System.Devices.Aep.ModelName Строка Имя модели устройства.
System.Devices.Aep.ProtocolId GUID Указывает протокол, используемый для обнаружения этого устройства AssocationEndpoint .
System.Devices.Aep.SignalStrength Int32 Сила сигнала устройства. Это свойство применимо только для некоторых протоколов.
System.ItemNameDisplay Строка Лучшее отображаемое имя устройства.

 

Свойства AssociationEndpointContainer

Имя. Тип Описание
System.Devices.AepContainer.Categories String[] Категории, к которым относится устройство. Например, принтер или камера.
System.Devices.AepContainer.Children String[] Коллекция идентификаторов для объектов AssocationEndpoint , входящих в этот контейнер.
System.Devices.AepContainer.CanPair Логический Указывает, можно ли связать одно из дочерних устройств AssociationEndpoint с системой или нет. DeviceInformationPairing.CanPair является производным от этого свойства.
System.Devices.AepContainer.ContainerId GUID Удостоверение этого устройства. Это также значение DeviceInformation.Id, но в форме GUID.
System.Devices.AepContainer.IsPaired Логический Указывает, подключено ли одно из дочерних устройств AssociationEndpoint . DeviceInformationPairing.IsPaired является производным от этого свойства.
System.Devices.AepContainer.IsPresent Логический Указывает, присутствует ли одно из дочерних устройств AssociationEndpoint , то есть устройство находится в режиме реального времени и обнаруживается по сетевому или беспроводному протоколу. После связывания устройства с системой устройство кэшируется. После этого устройство будет автоматически обнаружено при запросе объектов AssociationEndpoint . Из-за этого вы не можете полагаться только на обнаружение устройства с запросом, чтобы указать, подходит ли он в настоящее время. Именно поэтому это свойство важно.
System.Devices.AepContainer.Manufacturer Строка Производитель устройства.
System.Devices.AepContainer.ModelIds String[] Список идентификаторов модели для устройства. Каждая модель представляет собой GUID в строковой форме.
System.Devices.AepContainer.ModelName Строка Имя модели устройства.
System.Devices.AepContainer.ProtocolIds GUID[] Список идентификаторов протокола, которые способствовали созданию этого объекта AssociationEndpointContainer . Помните, что устройство AssociationEndpointContainer создается путем сбора всех устройств AssociationEndpoint , обнаруженных по разным протоколам для одного физического устройства.
System.Devices.AepContainer.SupportedUriSchemes String[] Список схем URI приведения, поддерживаемых этим устройством.
System.Devices.AepContainer.SupportsAudio Логический Указывает, поддерживает ли это устройство приведение звука.
System.Devices.AepContainer.SupportsImages Логический Указывает, поддерживает ли это устройство приведение изображений.
System.Devices.AepContainer.SupportsVideo Логический Указывает, поддерживает ли это устройство приведение видео.
System.ItemNameDisplay Строка Лучшее отображаемое имя устройства.

 

Свойства AssociationEndpointService

Имя. Тип Описание
System.Devices.AepService.AepId Строка Идентификатор родительского объекта AssociationEndpoint .
System.Devices.AepService.ContainerId GUID Идентификатор родительского объекта AssociationEndpointContainer .
System.Devices.AepService.ParentAepIsPaired Логический Указывает, связан ли родительский объект AssociationEndpoint с системой.
System.Devices.AepService.ProtocolId GUID Удостоверение протокола, используемого для обнаружения этого устройства.
System.Devices.AepService.ServiceClassId GUID Удостоверение службы, представленной этим устройством.
System.Devices.AepService.ServiceId Строка Удостоверение этой службы. Это также значение DeviceInformation.Id.
System.ItemNameDisplay Строка Лучшее отображаемое имя службы.