각 디바이스에는 특정 정보가 필요하거나 디바이스 선택기를 빌드할 때 사용할 수 있는 DeviceInformation 속성이 연결되어 있습니다. AQS(고급 쿼리 구문) 필터를 사용하여 이러한 속성을 지정하고 지정된 특성으로 열거된 디바이스를 제한할 수 있습니다. 이러한 속성을 사용하여 각 디바이스에 대해 반환하려는 정보를 나타낼 수도 있습니다. 이를 통해 애플리케이션에 반환되는 디바이스 정보를 지정할 수 있습니다.
- 중요한 API:Windows.Devices.Enumeration
디바이스 선택기에서 DeviceInformation 속성을 사용하는 방법에 대한 자세한 내용은 디바이스 선택기 빌드 참조하세요. 이 항목에서는 정보 속성을 요청하는 방법을 보여 줍니다. 몇 가지 일반적인 속성에 대해 설명합니다.
DeviceInformation 개체는 ID(DeviceInformation.Id), 종류(DeviceInformation.Kind) 및 속성 모음(DeviceInformation.Properties)으로 구성됩니다. DeviceInformation 개체의 다른 모든 속성은 Properties 속성 모음에서 파생됩니다. 예를 들어 Name 은 System.ItemNameDisplay에서 파생됩니다. 즉, 속성 모음에는 다른 속성을 확인하는 데 필요한 정보가 항상 포함됩니다.
속성 요청 중
DeviceInformation 개체에는 몇 가지 기본 속성이 있습니다. Id 및 Kind와 같이 대부분의 속성은 Properties의 속성 모음에 저장됩니다. 이 때문에 속성 모음에는 속성 모음에서 속성을 원본으로 지정하는 데 사용되는 속성이 포함됩니다. 예를 들어 System.ItemNameDisplay 를 사용하여 Name 속성의 원본을 지정합니다. 이는 사용자에게 친숙한 이름을 가진 일반적이고 잘 알려진 속성의 경우입니다. Windows 속성을 더 쉽게 쿼리할 수 있도록 이러한 사용자 친화적인 이름 중 몇 가지를 제공합니다.
속성을 요청하는 경우 사용자에게 친숙한 이름을 가진 공통 속성으로 제한되지 않습니다. 기본 GUID 및 PID(속성 ID)를 지정하여 사용 가능한 모든 속성(개별 디바이스 또는 드라이버에서 제공하는 사용자 지정 속성)을 요청할 수 있습니다. 사용자 지정 속성을 지정하는 형식은 "{GUID} PID"입니다. 예: "{744e3bed-3684-4e16-9f8a-07953a8bf2ab} 7"입니다.
Note
디바이스 드라이버의 디바이스 속성 키 헤더 파일에서 속성 GUID 목록을 찾을 수 있습니다.
일부 속성은 모든 DeviceInformationKind 개체에서 일반적이지만 대부분은 특정 종류에 고유합니다. 다음 섹션에서는 개별 DeviceInformationKind별로 정렬된 몇 가지 일반적인 속성을 나열합니다. 서로 다른 종류가 서로 어떻게 관련되는지에 대한 자세한 내용은 DeviceInformationKind를 참조하세요.
DeviceInterface 속성
DeviceInterface 는 앱 시나리오에서 사용되는 기본 및 가장 일반적인 DeviceInformationKind 개체입니다. 디바이스 API가 다른 특정 DeviceInformationKind를 나타내지 않는 한 사용해야 하는 개체의 종류입니다.
| Name | Type | 설명 |
|---|---|---|
| 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 | 스트링 | 디바이스 개체에 가장 적합한 표시 이름입니다. |
장치 속성
| Name | Type | 설명 |
|---|---|---|
| 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 또는 DeviceInterface의 System.ItemNameDisplay를 참조하여 사용자에게 친숙한 이름의 가능성이 더 높습니다. |
DeviceContainer 속성
| Name | Type | 설명 |
|---|---|---|
| System.Devices.Category | 문자열[] | 디바이스가 속한 범주에 대한 설명 목록입니다. 이 목록은 단수 범주로 제공됩니다. 예를 들어 "디스플레이", "휴대폰" 또는 "오디오 장치". |
| System.Devices.CategoryIds | 문자열[] | 이 디바이스가 속한 범주 목록을 포함합니다. 예를 들어 Audio.Headphone, Display.Monitor 또는 Input.Gaming입니다. |
| System.Devices.CategoryPlural | 문자열[] | 디바이스가 속한 범주에 대한 설명 목록입니다. 이 목록은 복수 범주로 제공됩니다. 예를 들어 "디스플레이", "휴대폰" 또는 "오디오 장치"입니다. |
| 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 속성
| Name | Type | 설명 |
|---|---|---|
| System.ItemNameDisplay | 스트링 | 이 디바이스에 가장 적합한 표시 이름입니다. |
DevicePanel 속성
| Name | Type | 설명 |
|---|---|---|
| System.Devices.Panel.PanelId | 스트링 | DevicePanel 개체의 식별자입니다. |
| System.Devices.Panel.PanelGroup | 스트링 | 부모 PanelGroup의 식별자입니다. |
AssociationEndpoint 속성
| Name | Type | 설명 |
|---|---|---|
| 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 속성
| Name | Type | 설명 |
|---|---|---|
| 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 속성
| Name | Type | 설명 |
|---|---|---|
| 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 | 이 디바이스가 나타내는 서비스의 ID입니다. |
| System.Devices.AepService.ServiceId | 스트링 | 이 서비스의 ID입니다. 이는 DeviceInformation.Id 값이기도 하다. |
| System.ItemNameDisplay | 스트링 | 서비스에 가장 적합한 표시 이름입니다. |
Windows developer