Свойства сведений об устройстве
Каждое устройство имеет связанные свойства 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 | Строка | Лучшее отображаемое имя службы. |