Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Je nach Feature sollten Sie die einzelnen unten aufgeführten Optionen berücksichtigen und gegebenenfalls beschreiben.
Öffentliche API hinzugefügt oder geändert (Win32)
SENSORPROFILEID
DIE SENSORPROFILEID-Struktur stellt eine eindeutige ID für jedes Profil dar. Es besteht aus dem Profiltyp KSCAMERAPROFILE_*, deklariert in OEMCameraProfileVersion (siehe Detailliertes Design für IHVs und OEMs) und einem Profilindex.
typedef struct
{
GUID Type;
UINT32 Index;
UINT32 Unused;
} SENSORPROFILEID;
IMFSensorProfileCollection
IMFSensorProfileCollection stellt eine Auflistung von Profilen dar. IHV/OEMs müssen die MFCreateSensorProfileCollection-API verwenden, um eine neue Profilsammlungsschnittstelle abzurufen.
[
object,
uuid(C95EA55B-0187-48BE-9353-8D2507662351),
helpstring("IMFSensorProfileCollection Interface"),
local
]
interface IMFSensorProfileCollection : IUnknown
{
DWORD GetProfileCount(
);
HRESULT GetProfile(
[in, annotation("_In_")] DWORD Index,
[out, annotation("_COM_Outptr_")] IMFSensorProfile** ppProfile
);
HRESULT AddProfile(
[in, annotation("_In_")] IMFSensorProfile* pProfile
);
HRESULT FindProfile(
[in, annotation("_In_")] SENSORPROFILEID* ProfileId,
[out, annotation("_COM_Outptr_")] IMFSensorProfile** ppProfile
);
void RemoveProfileByIndex(
[in, annotation("_In_")] DWORD Index
);
void RemoveProfile(
[in, annotation("_In_")] SENSORPROFILEID* ProfileId
);
};
STDAPI
MFCreateSensorProfileCollection(
_COM_Outptr_ IMFSensorProfileCollection** ppSensorProfile
);
IMFSensorProfile
Das IMFSensorProfile -Objekt implementiert auch die IMFAttributes-Schnittstelle. Der Attributspeicher ist schreibgeschützt für die Anwendungsentwickler, aber hat Lese-/Schreibrechte für die DMFT-/Sensor-Group-Transform-Komponente.
[
object,
uuid(22F765D1-8DAB-4107-846D-56BAF72215E7),
helpstring("IMFSensorProfile Interface"),
local
]
interface IMFSensorProfile : IUnknown
{
HRESULT GetProfileId(
[out, annotation("_Out_")] SENSORPROFILEID* pId
);
HRESULT AddProfileFilter(
[in, annotation("_In_")] UINT32 StreamId,
[in, annotation("_In_z_")] LPCWSTR wzFilterSetString
);
HRESULT IsMediaTypeSupported(
[in, annotation("_In_")] UINT32 StreamId,
[in, annotation("_In_")] IMFMediaType* pMediaType,
[out, annotation("_Out_")] BOOL* pfSupported
);
HRESULT AddBlockedControl(
[in, annotation("_In_z_")] LPCWSTR wzBlockedControl
);
};
STDAPI
MFCreateSensorProfile(
_In_ REFGUID ProfileType,
_In_ UINT32 ProfileIndex,
_In_opt_z_ LPCWSTR Constraints,
_COM_Outptr_ IMFSensorProfile** ppProfile
);
Öffentliche API hinzugefügt oder geändert (WinRT)
[contract(Windows.Foundation.UniversalApiContract, 1)]
typedef enum KnownVideoProfile
{
VideoRecording = 0,
HighQualityPhoto,
BalancedVideoAndPhoto,
VideoConferencing,
PhotoSequence
PhotoSequence,
[contract(Windows.Foundation.UniversalApiContract, 6)]
HighFrameRate,
[contract(Windows.Foundation.UniversalApiContract, 6)]
VariablePhotoSequence
[contract(Windows.Foundation.UniversalApiContract, 6)]
HDRWithWCGVideo,
[contract(Windows.Foundation.UniversalApiContract, 6)]
HDRWithWCGPhoto,
[contract(Windows.Foundation.UniversalApiContract, 6)]
VideoHDR8
} KnownVideoProfile;
[uuid(8012AFEF-B691-49FF-83F2-C1E76EAAEA1B)]
[exclusiveto(MediaCaptureVideoProfileMediaDescription)]
[contract(Windows.Foundation.UniversalApiContract, 1)]
interface IMediaCaptureVideoProfileMediaDescription : IInspectable
{
[propget] HRESULT Width([out, retval] UINT32* value);
[propget] HRESULT Height([out, retval] UINT32* value);
[propget] HRESULT FrameRate([out, retval] double* value);
[deprecated("IsVariablePhotoSequenceSupported might not be available in future versions of Windows. Starting with Windows RS4", deprecate, Windows.Foundation.UniversalApiContract, 6)]
[propget] HRESULT IsVariablePhotoSequenceSupported([out, retval] boolean* value);
[deprecated("IsHdrVideoSupported might not be available in future versions of Windows. Starting with Windows RS4", deprecate, Windows.Foundation.UniversalApiContract, 6)]
[propget] HRESULT IsHdrVideoSupported([out, retval] boolean* value);
}
[uuid(C6A6EF13-322D-413A-B85A-68A88E02F4E9)]
[contract(Windows.Foundation.UniversalApiContract, 6)]
[exclusiveto(MediaCaptureVideoProfileMediaDescription)]
interface IMediaCaptureVideoProfileMediaDescription2 : IInspectable
{
[propget] HRESULT Subtype([out, retval] HSTRING* value);
[propget] HRESULT Properties([out, retval] Windows.Foundation.Collections.IMapView<GUID, IInspectable*>** value);
}
[uuid(97DDC95F-94CE-468F-9316-FC5BC2638F6B)]
[contract(Windows.Foundation.UniversalApiContract, 6)]
[exclusiveto(MediaCaptureVideoProfile)]
interface IMediaCaptureVideoProfile2 : IInspectable
{
[propget] HRESULT FrameSourceInfos([out, retval] IVectorView<Windows.Media.Capture.Frames.MediaFrameSourceInfo*>** value);
[propget] HRESULT Properties([out, retval] Windows.Foundation.Collections.IMapView<GUID, IInspectable*>** value);
}
[uuid(195A7855-6457-42C6-A769-19B65BD32E6E)]
[contract(Windows.Foundation.UniversalApiContract, 6)]
[exclusiveto(MediaFrameSourceInfo)]
interface IMediaFrameSourceInfo2 : IInspectable
{
[propget] HRESULT ProfileId(
[out, retval] HSTRING* value);
[propget] HRESULT VideoProfileMediaDescription(
[out, retval] Windows.Foundation.Collections.IVectorView<Windows.Media.Capture.MediaCaptureVideoProfileMediaDescription*>** value);
}
RUNTIMECLASS_CONTRACT_WIN10_RS1
runtimeclass MediaFrameSourceInfo
{
[default] interface IMediaFrameSourceInfo;
[contract(Windows.Foundation.UniversalApiContract, 6)]
interface IMediaFrameSourceInfo2;
}