1cpp_quote("/**") 2cpp_quote(" * This file is part of the mingw-w64 runtime package.") 3cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.") 4cpp_quote(" */") 5cpp_quote("") 6cpp_quote("#include <winapifamily.h>") 7cpp_quote("") 8cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)") 9 10import "unknwn.idl"; 11import "oaidl.idl"; 12 13cpp_quote("") 14struct CodecAPIEventData { 15 GUID guid; 16 DWORD dataLength; 17 DWORD reserved[3]; 18}; 19 20cpp_quote("") 21interface IStream; 22 23cpp_quote("") 24[object, local, uuid (901db4c7-31ce-41a2-85dc-8fa0bf41b8da), pointer_default (unique)] 25interface ICodecAPI : IUnknown { 26 HRESULT IsSupported ([in] const GUID *Api); 27 HRESULT IsModifiable ([in] const GUID *Api); 28 HRESULT GetParameterRange ([in] const GUID *Api,[out] VARIANT *ValueMin,[out] VARIANT *ValueMax,[out] VARIANT *SteppingDelta); 29 HRESULT GetParameterValues ([in] const GUID *Api,[out, size_is (,*ValuesCount)] VARIANT **Values,[out] ULONG *ValuesCount); 30 HRESULT GetDefaultValue ([in] const GUID *Api,[out] VARIANT *Value); 31 HRESULT GetValue ([in] const GUID *Api,[out] VARIANT *Value); 32 HRESULT SetValue ([in] const GUID *Api,[in] VARIANT *Value); 33 HRESULT RegisterForEvent ([in] const GUID *Api,[in] LONG_PTR userData); 34 HRESULT UnregisterForEvent ([in] const GUID *Api); 35 HRESULT SetAllDefaults (void); 36 HRESULT SetValueWithNotify ([in] const GUID *Api,[in] VARIANT *Value,[out, size_is (,*ChangedParamCount)] GUID **ChangedParam,[out] ULONG *ChangedParamCount); 37 HRESULT SetAllDefaultsWithNotify ([out, size_is (,*ChangedParamCount)] GUID **ChangedParam,[out] ULONG *ChangedParamCount); 38 HRESULT GetAllSettings ([in] IStream *); 39 HRESULT SetAllSettings ([in] IStream *); 40 HRESULT SetAllSettingsWithNotify (IStream *,[out, size_is (,*ChangedParamCount)] GUID **ChangedParam,[out] ULONG *ChangedParamCount); 41} 42cpp_quote("#endif") 43