프로필 검색(카메라 프로필 V2)
카메라 프로필 1507 스키마에서 프로필 검색은 디바이스 중심입니다. 즉, 애플리케이션이 해당 디바이스에 대해 쿼리하려는 디바이스를 먼저 결정하고 해당 디바이스에 대해 사용 가능한 프로필을 열거해야 합니다.
기존 카메라 프로필 API는 카메라 프로필 V2에 대해 지원되며 새 스키마가 지원하는 추가 정보를 제공하도록 API가 확장됩니다.
[version(NTDDI_WINTHRESHOLD), uuid(ACEF81FF-99ED-4645-965E-1925CFC63834)]
[version(NTDDI_WINTHRESHOLD, Platform.WindowsPhone)]
[exclusiveto(MediaCapture)]
[contract(Windows.Foundation.UniversalApiContract, 1)]
interface IMediaCaptureStatics : IInspectable
{
HRESULT IsVideoProfileSupported([in] HSTRING videoDeviceId,
[out, retval] boolean* value);
HRESULT FindAllVideoProfiles([in] HSTRING videoDeviceId,
[out, retval] IVectorView<MediaCaptureVideoProfile*>** value);
HRESULT FindConcurrentProfiles([in] HSTRING videoDeviceId,
[out, retval] IVectorView<MediaCaptureVideoProfile*>** value);
HRESULT FindKnownVideoProfiles([in] HSTRING videoDeviceId,
[in] KnownVideoProfile name,
[out, retval] IVectorView<MediaCaptureVideoProfile*>** value);
}
새 카메라 프로필 V2에 대한 추가 정보를 제공하기 위해 MediaCaptureVideoProfile 개체가 확장됩니다.
[version(NTDDI_WINTHRESHOLD), uuid(21A073BF-A3EE-4ECF-9EF6-50B0BC4E1305)]
[version(NTDDI_WINTHRESHOLD, Platform.WindowsPhone)]
[exclusiveto(MediaCaptureVideoProfile)]
[contract(Windows.Foundation.UniversalApiContract, 1)]
interface IMediaCaptureVideoProfile : IInspectable
{
[propget] HRESULT Id([out, retval] HSTRING* value);
[propget] HRESULT VideoDeviceId([out, retval]HSTRING* value);
[propget] HRESULT SupportedPreviewMediaDescription([out, retval] IVectorView<MediaCaptureVideoProfileMediaDescription*>** value);
[propget] HRESULT SupportedRecordMediaDescription([out, retval] IVectorView<MediaCaptureVideoProfileMediaDescription*>** value);
[propget] HRESULT SupportedPhotoMediaDescription([out, retval] IVectorView<MediaCaptureVideoProfileMediaDescription*>** value);
HRESULT GetConcurrency([out, retval] IVectorView<MediaCaptureVideoProfile*>** value);
}
API_CONTRACT_WIN10_RS4 // TDB
[uuid(5AE36D1E-211D-474E-A763-3EDE406C2663), exclusiveto(MediaCaptureVideoProfileMediaDescription)]
interface IMediaCaptureVideoProfileMediaDescription2 : IInspectable
{
[propget] HRESULT EncodingProperties([out, retval] IMediaEncodingProperties** value);
};
API_CONTRACT_WIN10_RS4 // TDB
[uuid(085344F6-09AE-49D3-8D9A-442DE692B0E5), exclusiveto(MediaCaptureProfileStream)]
interface IMediaCaptureProfileStream : IInspectable
{
[propget] HRESULT SourceInfo([out, retval] MediaFrameSourceInfo** value);
[propget] HRESULT SupportedMediaDescription([out, retval] IVectorView<MediaCaptureVideoProfileMediaDescription*>** value);
};
API_CONTRACT_WIN10_RS4 // TDB
[uuid(4CDC8BB7-4789-418E-AF12-C0CEC7442F5D), exclusiveto(MediaCaptureVideoProfile)]
interface IMediaCaptureVideoProfile2 : IInspectable
{
[propget] HRESULT ProfileStreams([out, retval] IVectorView<MediaCaptureProfileStream*>** value);
};
[version(NTDDI_WINTHRESHOLD)]
[version(NTDDI_WINTHRESHOLD, Platform.WindowsPhone)]
[dualapipartition(NTDDI_WINTHRESHOLD)]
[threading(both), marshaling_behavior(agile)]
[contract(Windows.Foundation.UniversalApiContract, 1)]
runtimeclass MediaCaptureVideoProfile
{
[default] interface IMediaCaptureVideoProfile;
API_CONTRACT_WIN10_RS4 // TDB
interface IMediaCaptureVideoProfile2;
};