From 78cf315665edd5d4cd599235147bc2ff3b284ef2 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Mon, 10 Mar 2014 13:35:18 +0100 Subject: [PATCH] wmsdkidl.idl: Added some missing declarations. --- include/wmsdkidl.idl | 170 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 170 insertions(+) diff --git a/include/wmsdkidl.idl b/include/wmsdkidl.idl index 91dc000ac12..984e2835b29 100644 --- a/include/wmsdkidl.idl +++ b/include/wmsdkidl.idl @@ -110,6 +110,15 @@ typedef enum WMT_STREAM_SELECTION WMT_ON = 2, } WMT_STREAM_SELECTION; +typedef enum WMT_VERSION +{ + WMT_VER_4_0 = 0x00040000, + WMT_VER_7_0 = 0x00070000, + WMT_VER_8_0 = 0x00080000, + WMT_VER_9_0 = 0x00090000 +} WMT_VERSION; + +typedef LPCWSTR LPCWSTR_WMSDK_TYPE_SAFE; [ object, @@ -146,6 +155,167 @@ interface IWMReaderCallback : IWMStatusCallback [ object, + uuid(96406Bdd-2b2b-11d3-b36b-00c04f6108ff), + pointer_default(unique), + local +] +interface IWMStreamList : IUnknown +{ + HRESULT GetStreams( + [out, size_is(*pcStreams)] WORD *pwStreamNumArray, + [in, out] WORD *pcStreams); + + HRESULT AddStream([in] WORD wStreamNum); + HRESULT RemoveStream([in] WORD wStreamNum); +} + +[ + object, + uuid(96406Bde-2b2b-11d3-b36b-00c04f6108ff), + pointer_default(unique), + local +] +interface IWMMutualExclusion : IWMStreamList +{ + HRESULT GetType([out] GUID *pguidType); + HRESULT SetType([in] REFGUID guidType); +} + +[ + object, + uuid(96406Bdc-2b2b-11d3-b36b-00c04f6108ff), + pointer_default(unique), + local +] +interface IWMStreamConfig : IUnknown +{ + HRESULT GetStreamType([out] GUID *pguidStreamType); + HRESULT GetStreamNumber([out] WORD *pwStreamNum); + HRESULT SetStreamNumber([in] WORD wStreamNum); + + HRESULT GetStreamName( + [out, size_is(*pcchStreamName)] WCHAR *pwszStreamName, + [in, out] WORD *pcchStreamName); + + HRESULT SetStreamName([in] LPCWSTR_WMSDK_TYPE_SAFE pwszStreamName); + + HRESULT GetConnectionName( + [out, size_is(*pcchInputName)] WCHAR *pwszInputName, + [in, out] WORD *pcchInputName); + + HRESULT SetConnectionName([in] LPCWSTR_WMSDK_TYPE_SAFE pwszInputName); + HRESULT GetBitrate([out] DWORD *pdwBitrate); + HRESULT SetBitrate([in] DWORD pdwBitrate); + HRESULT GetBufferWindow([out] DWORD *pmsBufferWindow); + HRESULT SetBufferWindow([in] DWORD msBufferWindow); +} + +[ + object, + uuid(96406bdb-2b2b-11d3-b36b-00c04f6108ff), + pointer_default(unique), + local +] +interface IWMProfile : IUnknown +{ + HRESULT GetVersion( + [out] WMT_VERSION *pdwVersion); + + HRESULT GetName( + [out, size_is(*pcchName)] WCHAR *pwszName, + [in, out] DWORD *pcchName); + + HRESULT SetName( + [in] const WCHAR *pwszName); + + HRESULT GetDescription( + [out, size_is(*pcchDescription)] WCHAR *pwszDescription, + [in, out] DWORD *pcchDescription); + + HRESULT SetDescription( + [in] const WCHAR *pwszDescription); + + HRESULT GetStreamCount( + [out] DWORD *pcStreams); + + HRESULT GetStream( + [in] DWORD dwStreamIndex, + [out] IWMStreamConfig **ppConfig); + + HRESULT GetStreamByNumber( + [in] WORD wStreamNum, + [out] IWMStreamConfig **ppConfig); + + HRESULT RemoveStream( + [in] IWMStreamConfig *pConfig); + + HRESULT RemoveStreamByNumber( + [in] WORD wStreamNum); + + HRESULT AddStream( + [in] IWMStreamConfig *pConfig); + + HRESULT ReconfigStream( + [in] IWMStreamConfig *pConfig); + + HRESULT CreateNewStream( + [in] REFGUID guidStreamType, + [out] IWMStreamConfig **ppConfig); + + HRESULT GetMutualExclusionCount( + [out] DWORD *pcME); + + HRESULT GetMutualExclusion( + [in] DWORD dwMEIndex, + [out] IWMMutualExclusion **ppME); + + HRESULT RemoveMutualExclusion( + [in] IWMMutualExclusion *pME); + + HRESULT AddMutualExclusion( + [in] IWMMutualExclusion *pME); + + HRESULT CreateNewMutualExclusion( + [out] IWMMutualExclusion **ppME); +} + +[ + object, + uuid(d16679f2-6ca0-472d-8d31-2f5d55aee155), + pointer_default(unique), + local +] +interface IWMProfileManager : IUnknown +{ + HRESULT CreateEmptyProfile( + [in] WMT_VERSION dwVersion, + [out] IWMProfile **ppProfile); + + HRESULT LoadProfileByID( + [in] REFGUID guidProfile, + [out] IWMProfile **ppProfile); + + HRESULT LoadProfileByData( + [in] const WCHAR *pwszProfile, + [out] IWMProfile **ppProfile); + + HRESULT SaveProfile( + [in] IWMProfile *pIWMProfile, + [in] WCHAR *pwszProfile, + [in, out] DWORD *pdwLength); + + HRESULT GetSystemProfileCount( + [out] DWORD *pcProfiles); + + HRESULT LoadSystemProfile( + [in] DWORD dwProfileIndex, + [out] IWMProfile **ppProfile); +} + +cpp_quote("HRESULT WINAPI WMCreateProfileManager(IWMProfileManager**);") + +[ + object, uuid(96406bce-2b2b-11d3-b36b-00c04f6108ff), pointer_default(unique), local -- 2.11.4.GIT