디바이스 정보 속성

각 장치에는 특정 정보가 필요하거나 장치 선택기를 빌드할 때 사용할 수 있는 DeviceInformation 속성이 연결되어 있습니다. AQS(고급 쿼리 구문) 필터를 사용하여 이러한 속성을 지정하고 지정된 특성으로 열거된 장치를 제한할 수 있습니다. 이러한 속성을 사용하여 각 장치에 대해 반환하려는 정보를 나타낼 수도 있습니다. 이를 통해 애플리케이션에 반환되는 장치 정보를 지정할 수 있습니다.

중요 API

장치 선택기에서 DeviceInformation 속성을 사용하는 방법에 대한 자세한 정보는 장치 선택기 빌드하기를 참조하세요. 이 항목에서는 정보 속성을 요청하는 방법을 보여 줍니다. 몇 가지 일반적인 속성에 대해 설명합니다.

DeviceInformation 개체는 ID(DeviceInformation.Id), 종류(DeviceInformation.Kind) 및 속성 모음(DeviceInformation.Properties)으로 구성됩니다. DeviceInformation 개체의 다른 모든 속성은 Properties 속성 모음에서 파생됩니다. 예를 들어 NameSystem.ItemNameDisplay에서 파생됩니다. 즉, 속성 모음에는 다른 속성을 확인하는 데 필요한 정보가 항상 포함됩니다.

요청 속성

DeviceInformation 개체에는 Id, Kind 등의 몇 가지 기본 속성이 있지만, 대부분의 속성은 Properties 아래의 속성 모음에 저장됩니다. 이 때문에 속성 모음에는 속성 모음에서 속성을 원본으로 지정하는 데 사용되는 속성이 포함됩니다. 예를 들어 System.ItemNameDisplay를 사용하여 Name 속성의 원본을 지정합니다. 이는 사용자에게 친숙한 이름을 가진 일반적이고 잘 알려진 속성의 경우입니다. Windows는 속성을 더 쉽게 쿼리할 수 있도록 이러한 사용자 친화적인 이름 중 몇 가지를 제공합니다.

속성을 요청하는 경우 사용자에게 친숙한 이름을 가진 공통 속성으로 제한되지 않습니다. 기본 GUID 및 PID(속성 ID)를 지정하여 사용 가능한 모든 속성(개별 장치 또는 드라이버에서 제공하는 사용자 지정 속성)을 요청할 수 있습니다. 사용자 지정 속성을 지정하는 형식은 "{GUID} PID"입니다. 예를 들어 “{744e3bed-3684-4e16-9f8a-07953a8bf2ab} 7”입니다.

참고

장치 드라이버의 장치 속성 키 헤더 파일에서 속성 Guid의 목록을 찾을 수 있습니다.

일부 속성은 모든 DeviceInformationKind 개체에서 일반적이지만 대부분은 특정 종류에 고유합니다. 다음의 섹션은 개별 DeviceInformationKind별로 정렬된 몇 가지 일반적인 속성을 나열합니다. 서로 다른 종류가 서로 어떻게 관련되는지에 대한 자세한 정보는 DeviceInformationKind를 참조하세요.

DeviceInterface 속성

DeviceInterface 는 앱 시나리오에서 사용되는 기본 및 가장 일반적인 DeviceInformationKind 개체입니다. 장치 API가 다른 특정 DeviceInformationKind를 나타내지 않는 한 사용해야 하는 개체의 종류입니다.

속성 형식 설명
System.Devices.ContainerId GUID DeviceInterface를 포함하는 Device를 포함하는 DeviceInformationKind.DeviceContainer의 ID입니다. DeviceInformationKind.DeviceContainer와 함께 CreateFromIdAsync에 이 값을 전달하여 적절한 컨테이너를 찾을 수 있습니다.
System.Devices.InterfaceClassGuid GUID 이 인터페이스가 나타내는 인터페이스 클래스 GUID입니다.
System.Devices.DeviceInstanceId 문자열 부모 DeviceInformationKind.Device의 ID입니다. DeviceInformationKind.Device와 함께 CreateFromIdAsync에 이 값을 전달하여 적절한 장치를 찾을 수 있습니다.
System.Devices.InterfaceEnabled Boolean 인터페이스를 사용할 수 있는지 여부를 나타냅니다. DeviceInformation.IsEnabled는 이 속성에서 파생됩니다.
System.Devices.GlyphIcon 문자열 문자 모양에 대한 아이콘 경로입니다.
System.Devices.IsDefault Boolean System.Devices.InterfaceClassGuid의 기본 장치인지 여부를 나타냅니다. 기본적으로 프린터에 사용됩니다. 여러 오디오 기본값이 있으므로 오디오에서는 작동하지 않습니다. GetDefaultAudioRenderId 또는 GetDefaultAudioCaptureId를 사용하여 오디오 기본값을 가져옵니다.
System.Devices.Icon 문자열 아이콘 경로입니다.
System.ItemNameDisplay 문자열 장치 개체에 가장 적합한 표시 이름입니다.

 

장치 속성

속성 형식 설명
System.Devices.ClassGuid GUID 장치 설치 중에 사용되는 장치 클래스입니다. 자세한 정보는 장치 설정 클래스를 참조하세요.
System.Devices.CompatibleIds 문자열[] 장치의 호환 가능한 ID입니다. Windows가 장치에 설치할 최상의 드라이버를 결정할 때 사용됩니다. 자세한 정보는 호환 ID를 참조하세요.
System.Devices.ContainerId GUID 이 장치를 포함하는 DeviceInformationKind.DeviceContainer의 ID입니다. DeviceInformationKind.DeviceContainer와 함께 CreateFromIdAsync에 이 값을 전달하여 적절한 컨테이너를 찾을 수 있습니다.
System.Devices.DeviceCapabilities UInt32 CfgMgr32.h에 정의된 CM_DEVCAP_X 기능 플래그의 비트 OR입니다. 자세한 정보는 DEVPKEY_Device_Capabilities를 참조하세요.
System.Devices.DeviceHasProblem Boolean 현재 장치에 문제가 있으며 제대로 작동하지 않을 수 있습니다. 오래된 드라이버, 누락된 드라이버 또는 잘못된 드라이버 때문일 수 있습니다.
System.Devices.DeviceInstanceId 문자열 장치의 ID입니다. 이는 DeviceInformation.Id의 값이기도 합니다.
System.Devices.DeviceManufacturer 문자열 장치의 제조업체입니다.
System.Devices.HardwareIds 문자열[] 장치의 하드웨어 ID입니다. Windows는 설치하기에 가장 적합한 드라이버를 결정할 때 이러한 ID를 사용합니다. 장치 공급업체는 이 속성을 사용하여 앱에서 장치를 식별할 수 있습니다. 자세한 정보는 하드웨어 ID를 참조하세요.
System.Devices.Parent 문자열 부모 장치의 DeviceInformation.Id입니다. DeviceContainer 부모가 아닌 연결 부모입니다.
System.Devices.Present Boolean 장치가 현재 존재하며 사용 가능한지 여부를 나타냅니다.
System.ItemNameDisplay 문자열 이 장치 개체에 가장 적합한 표시 이름입니다. 이 경우 이는 사용자에게 가장 적합한 이름이 아닙니다. 연결된 DeviceContainer 또는 DeviceInterfaceSystem.ItemNameDisplay를 참조하면 사용자에게 친숙한 이름을 고를 가능성이 더 높아집니다.

 

DeviceContainer 속성

속성 형식 설명
System.Devices.Category 문자열[] 장치가 속한 범주에 대한 설명 목록입니다. 이 목록은 단수 범주로 제공됩니다. 예를 들어 "Display", "Phone" 또는 "Audio device"입니다.
System.Devices.CategoryIds 문자열[] 이 장치가 속한 범주 목록을 포함합니다. 예를 들어 Audio.Headphone, Display.Monitor 또는 Input.Gaming입니다.
System.Devices.CategoryPlural 문자열[] 장치가 속한 범주에 대한 설명 목록입니다. 이 목록은 복수 범주로 제공됩니다. 예를 들어 "Displays", "Phones" 또는 "Audio devices"입니다.
System.Devices.CompatibleIds 문자열[] 모든 자식 DeviceInformationKind.Device 개체에 대해 호환 가능한 ID의 컬렉션입니다.
System.Devices.Connected Boolean 장치가 현재 시스템에 연결되어 있는지 여부를 나타냅니다.
System.Devices.GlyphIcon 문자열 문자 모양에 대한 아이콘 경로입니다.
System.Devices.HardwareIds 문자열[] 모든 자식 DeviceInformationKind.Device 개체에 대한 하드웨어 ID의 컬렉션입니다.
System.Devices.Icon 문자열 아이콘 경로입니다.
System.Devices.LocalMachine Boolean DeviceContainer가 시스템 자체를 나타내는 경우에는 True이고, 장치가 시스템 외부에 있으면 false입니다.
System.Devices.Manufacturer 문자열 장치의 제조업체입니다.
System.Devices.ModelName 문자열 장치 컨테이너의 모델 이름입니다.
System.Devices.Paired Boolean 자식 DeviceInformationKind.Device 개체가 현재 시스템과 페어링된 무선 또는 네트워크 장치인지 여부를 나타냅니다.
System.ItemNameDisplay 문자열 이 장치에 가장 적합한 표시 이름입니다.

 

DeviceInterfaceClass 속성

속성 형식 설명
System.ItemNameDisplay 문자열 이 장치에 가장 적합한 표시 이름입니다.

 

DevicePanel 속성

속성 형식 설명
System.Devices.Panel.PanelId 문자열 DevicePanel 개체의 식별자입니다.
System.Devices.Panel.PanelGroup 문자열 부모 PanelGroup의 식별자입니다.

AssociationEndpoint 속성

속성 형식 설명
System.Devices.Aep.AepId 문자열 이 장치의 ID입니다. 이는 DeviceInformation.Id의 값이기도 합니다.
System.Devices.Aep.CanPair Boolean 장치를 시스템과 페어링할 수 있는지 여부를 나타냅니다. DeviceInformationPairing.CanPair는 이 속성에서 파생됩니다.
System.Devices.Aep.Category 문자열[] 장치가 속한 범주입니다. 예를 들어 프린터 또는 카메라입니다.
System.Devices.Aep.ContainerId GUID 부모 AssociationEndpointContainer 개체의 ID입니다.
System.Devices.Aep.DeviceAddress 문자열 장치의 주소입니다. 장치가 네트워크 장치인 경우의 IP 주소입니다.
System.Devices.Aep.IsConnected Boolean 장치가 현재 시스템에 연결되어 있는지를 나타냅니다.
System.Devices.Aep.IsPaired Boolean 장치가 현재 페어링되어 있는지를 나타냅니다. DeviceInformationPairing.IsPaired는 이 속성에서 파생됩니다.
System.Devices.Aep.IsPresent Boolean 장치가 현재 존재하는지 여부를 나타냅니다. 즉, 장치가 네트워크 또는 무선 프로토콜을 통해 실시간으로 검색됩니다. 장치가 시스템과 페어링되면 장치가 캐시됩니다. 그런 다음 AssociationEndpoint 개체를 쿼리할 때 장치가 자동으로 검색됩니다. 따라서 쿼리를 사용하여 장치를 검색하여 현재 사용할 수 있는지 여부를 나타낼 수 없습니다. 이 속성이 중요한 이유입니다.
System.Devices.Aep.Manufacturer 문자열 장치의 제조업체입니다.
System.Devices.Aep.ModelId GUID 장치의 모델 ID입니다.
System.Devices.Aep.ModelName 문자열 장치의 모델 이름입니다.
System.Devices.Aep.ProtocolId GUID AssocationEndpoint 장치를 검색하는 데 사용되는 프로토콜을 나타냅니다.
System.Devices.Aep.SignalStrength Int32 장치의 신호 강도입니다. 이 속성은 일부 프로토콜에만 적용할 수 있습니다.
System.ItemNameDisplay 문자열 장치에 가장 적합한 표시 이름입니다.

 

AssociationEndpointContainer 속성

속성 형식 설명
System.Devices.AepContainer.Categories 문자열[] 장치가 속한 범주입니다. 예를 들어 프린터 또는 카메라입니다.
System.Devices.AepContainer.Children 문자열[] 이 컨테이너의 일부인 AssocationEndpoint 개체에 대한 ID 컬렉션입니다.
System.Devices.AepContainer.CanPair Boolean 자식 AssociationEndpoint 장치 중 하나를 시스템과 페어링할 수 있는지 여부를 나타냅니다. DeviceInformationPairing.CanPair는 이 속성에서 파생됩니다.
System.Devices.AepContainer.ContainerId GUID 이 장치의 ID입니다. 이 값은 DeviceInformation.Id의 값이기도 하지만 GUID 형식입니다.
System.Devices.AepContainer.IsPaired Boolean 자식 AssociationEndpoint 장치 중 하나가 현재 페어링되어 있는지를 나타냅니다. DeviceInformationPairing.IsPaired는 이 속성에서 파생됩니다.
System.Devices.AepContainer.IsPresent Boolean 자식 AssociationEndpoint 장치 중 하나가 현재 존재하는지 여부를 나타냅니다. 즉, 네트워크 또는 무선 프로토콜을 통해 실시간으로 장치를 검색합니다. 장치가 시스템과 페어링되면 장치가 캐시됩니다. 그런 다음 AssociationEndpoint 개체를 쿼리할 때 장치가 자동으로 검색됩니다. 따라서 쿼리를 사용하여 장치를 검색하여 현재 사용할 수 있는지 여부를 나타낼 수 없습니다. 이 속성이 중요한 이유입니다.
System.Devices.AepContainer.Manufacturer 문자열 장치의 제조업체입니다.
System.Devices.AepContainer.ModelIds 문자열[] 장치의 모델 ID 목록입니다. 각 모델은 문자열 형식의 GUID입니다.
System.Devices.AepContainer.ModelName 문자열 장치의 모델 이름입니다.
System.Devices.AepContainer.ProtocolIds GUID[] AssociationEndpointContainer 개체를 빌드하는 데 기여한 프로토콜 ID 목록입니다. AssociationEndpointContainer 장치는 동일한 물리적 장치에 대해 서로 다른 프로토콜을 통해 검색된 모든 AssociationEndpoint장치를 수집하여 만들어집니다.
System.Devices.AepContainer.SupportedUriSchemes 문자열[] 이 장치에서 지원하는 캐스팅 URI 체계 목록입니다.
System.Devices.AepContainer.SupportsAudio Boolean 이 장치가 오디오 캐스팅을 지원하는지 여부를 나타냅니다.
System.Devices.AepContainer.SupportsImages Boolean 이 장치가 이미지 캐스팅을 지원하는지 여부를 나타냅니다.
System.Devices.AepContainer.SupportsVideo Boolean 이 장치가 비디오 캐스팅을 지원하는지 여부를 나타냅니다.
System.ItemNameDisplay 문자열 장치에 가장 적합한 표시 이름입니다.

 

AssociationEndpointService 속성

속성 형식 설명
System.Devices.AepService.AepId 문자열 부모 AssociationEndpoint 개체의 식별자입니다.
System.Devices.AepService.ContainerId GUID 부모 AssociationEndpointContainer 개체의 식별자입니다.
System.Devices.AepService.ParentAepIsPaired Boolean 부모 AssociationEndpoint 개체가 시스템과 페어링되는지 여부를 나타냅니다.
System.Devices.AepService.ProtocolId GUID 이 장치를 검색하는 데 사용되는 프로토콜의 ID입니다.
System.Devices.AepService.ServiceClassId GUID 이 장치가 나타내는 서비스의 아이덴티티입니다.
System.Devices.AepService.ServiceId 문자열 이 서비스 ID입니다. 이는 DeviceInformation.Id의 값이기도 합니다.
System.ItemNameDisplay 문자열 서비스에 가장 적합한 표시 이름입니다.