디바이스 정보 속성
각 장치에는 특정 정보가 필요하거나 장치 선택기를 빌드할 때 사용할 수 있는 DeviceInformation 속성이 연결되어 있습니다. AQS(고급 쿼리 구문) 필터를 사용하여 이러한 속성을 지정하고 지정된 특성으로 열거된 장치를 제한할 수 있습니다. 이러한 속성을 사용하여 각 장치에 대해 반환하려는 정보를 나타낼 수도 있습니다. 이를 통해 애플리케이션에 반환되는 장치 정보를 지정할 수 있습니다.
중요 API
장치 선택기에서 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
”입니다.
참고
장치 드라이버의 장치 속성 키 헤더 파일에서 속성 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 또는 DeviceInterface의 System.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 | 문자열 | 서비스에 가장 적합한 표시 이름입니다. |