diff --git a/include/control.idl b/include/control.idl index 7d1c83b92c3..884c4109b53 100644 --- a/include/control.idl +++ b/include/control.idl @@ -19,228 +19,230 @@ import "oaidl.idl"; -interface IMediaControl; -interface IBasicAudio; -interface IBasicVideo; -interface IVideoWindow; -interface IMediaEvent; -interface IMediaEventEx; -interface IMediaPosition; - -typedef LONG OAFilterState; -typedef LONG_PTR OAHWND; -typedef LONG_PTR OAEVENT; - -cpp_quote("#ifndef REFTIME_DEFINED") -cpp_quote("#define REFTIME_DEFINED") -typedef DOUBLE REFTIME; -cpp_quote("#endif") - -/***************************************************************************** - * IMediaControl interface - */ [ - object, - uuid(56a868b1-0ad4-11ce-b03a-0020af0ba770), - pointer_default(unique) + version(1.0), + uuid(56a868b0-0ad4-11ce-b03a-0020af0ba770) ] -interface IMediaControl : IDispatch +library QuartzTypeLib { - HRESULT Run(); - HRESULT Pause(); - HRESULT Stop(); - HRESULT GetState( [in] LONG msTimeout, [out] OAFilterState *pfs ); - HRESULT RenderFile( [in] BSTR strFilename ); - HRESULT AddSourceFilter( [in] BSTR strFilename, [out] IDispatch **ppUnk ); - [propget] HRESULT FilterCollection( [out] IDispatch **ppUnk ); - [propget] HRESULT RegFilterCollection( [out] IDispatch **ppUnk ); - HRESULT StopWhenReady(); -} + importlib("stdole2.tlb"); + + typedef LONG OAFilterState; + typedef LONG_PTR OAHWND; + typedef LONG_PTR OAEVENT; + + cpp_quote("#ifndef REFTIME_DEFINED") + cpp_quote("#define REFTIME_DEFINED") + typedef DOUBLE REFTIME; + cpp_quote("#endif") + + /*************************************************************************** + * IMediaControl interface + */ + [ + object, + uuid(56a868b1-0ad4-11ce-b03a-0020af0ba770), + pointer_default(unique) + ] + interface IMediaControl : IDispatch + { + HRESULT Run(); + HRESULT Pause(); + HRESULT Stop(); + HRESULT GetState( [in] LONG msTimeout, [out] OAFilterState *pfs ); + HRESULT RenderFile( [in] BSTR strFilename ); + HRESULT AddSourceFilter( [in] BSTR strFilename, [out] IDispatch **ppUnk ); + [propget] HRESULT FilterCollection( [out] IDispatch **ppUnk ); + [propget] HRESULT RegFilterCollection( [out] IDispatch **ppUnk ); + HRESULT StopWhenReady(); + } -/***************************************************************************** - * IBasicAudio interface - */ -[ - object, - uuid(56a868b3-0ad4-11ce-b03a-0020af0ba770), - pointer_default(unique) -] -interface IBasicAudio : IDispatch -{ - [propput] HRESULT Volume( [in] LONG lVolume ); - [propget] HRESULT Volume( [out] LONG *plVolume ); - [propput] HRESULT Balance( [in] LONG lBalance ); - [propget] HRESULT Balance( [out] LONG *plBalance ); -} + /*************************************************************************** + * IBasicAudio interface + */ + [ + object, + uuid(56a868b3-0ad4-11ce-b03a-0020af0ba770), + pointer_default(unique) + ] + interface IBasicAudio : IDispatch + { + [propput] HRESULT Volume( [in] LONG lVolume ); + [propget] HRESULT Volume( [out] LONG *plVolume ); + [propput] HRESULT Balance( [in] LONG lBalance ); + [propget] HRESULT Balance( [out] LONG *plBalance ); + } -/***************************************************************************** - * IVideoWindow interface - */ -[ - object, - uuid(56a868b4-0ad4-11ce-b03a-0020af0ba770), - pointer_default(unique) -] -interface IVideoWindow : IDispatch -{ - [propput] HRESULT Caption( [in] BSTR strCaption ); - [propget] HRESULT Caption( [out] BSTR *strCaption ); - [propput] HRESULT WindowStyle( [in] LONG WindowStyle ); - [propget] HRESULT WindowStyle( [out] LONG *WindowStyle ); - [propput] HRESULT WindowStyleEx( [in] LONG WindowStyleEx ); - [propget] HRESULT WindowStyleEx( [out] LONG *WindowStyleEx ); - [propput] HRESULT AutoShow( [in] LONG AutoShow ); - [propget] HRESULT AutoShow( [out] LONG *AutoShow ); - [propput] HRESULT WindowState( [in] LONG WindowState ); - [propget] HRESULT WindowState( [out] LONG *WindowState ); - [propput] HRESULT BackgroundPalette( [in] LONG BackgroundPalette ); - [propget] HRESULT BackgroundPalette( [out] LONG *pBackgroundPalette ); - [propput] HRESULT Visible( [in] LONG Visible ); - [propget] HRESULT Visible( [out] LONG *pVisible ); - [propput] HRESULT Left( [in] LONG Left ); - [propget] HRESULT Left( [out] LONG *pLeft ); - [propput] HRESULT Width( [in] LONG Width ); - [propget] HRESULT Width( [out] LONG *pWidth ); - [propput] HRESULT Top( [in] LONG Top ); - [propget] HRESULT Top( [out] LONG *pTop ); - [propput] HRESULT Height( [in] LONG Height ); - [propget] HRESULT Height( [out] LONG *pHeight ); - [propput] HRESULT Owner( [in] OAHWND Owner ); - [propget] HRESULT Owner( [out] OAHWND *Owner ); - [propput] HRESULT MessageDrain( [in] OAHWND Drain ); - [propget] HRESULT MessageDrain( [out] OAHWND *Drain ); - [propget] HRESULT BorderColor( [out] LONG *Color ); - [propput] HRESULT BorderColor( [in] LONG Color ); - [propget] HRESULT FullScreenMode( [out] LONG *FullScreenMode ); - [propput] HRESULT FullScreenMode( [in] LONG FullScreenMode ); - HRESULT SetWindowForeground( [in] LONG Focus ); - HRESULT NotifyOwnerMessage( [in] OAHWND hwnd, [in] LONG uMsg, [in] LONG_PTR wParam, [in] LONG_PTR lParam ); - HRESULT SetWindowPosition( [in] LONG Left, [in] LONG Top, [in] LONG Width, [in] LONG Height ); - HRESULT GetWindowPosition( [out] LONG *pLeft, [out] LONG *pTop, [out] LONG *pWidth, [out] LONG *pHeight ); - HRESULT GetMinIdealImageSize( [out] LONG *pWidth, [out] LONG *pHeight ); - HRESULT GetMaxIdealImageSize( [out] LONG *pWidth, [out] LONG *pHeight ); - HRESULT GetRestorePosition( [out] LONG *pLeft, [out] LONG *pTop, [out] LONG *pWidth, [out] LONG *pHeight ); - HRESULT HideCursor( [in] LONG HideCursor ); - HRESULT IsCursorHidden( [out] LONG *CursorHidden ); -} + /*************************************************************************** + * IVideoWindow interface + */ + [ + object, + uuid(56a868b4-0ad4-11ce-b03a-0020af0ba770), + pointer_default(unique) + ] + interface IVideoWindow : IDispatch + { + [propput] HRESULT Caption( [in] BSTR strCaption ); + [propget] HRESULT Caption( [out] BSTR *strCaption ); + [propput] HRESULT WindowStyle( [in] LONG WindowStyle ); + [propget] HRESULT WindowStyle( [out] LONG *WindowStyle ); + [propput] HRESULT WindowStyleEx( [in] LONG WindowStyleEx ); + [propget] HRESULT WindowStyleEx( [out] LONG *WindowStyleEx ); + [propput] HRESULT AutoShow( [in] LONG AutoShow ); + [propget] HRESULT AutoShow( [out] LONG *AutoShow ); + [propput] HRESULT WindowState( [in] LONG WindowState ); + [propget] HRESULT WindowState( [out] LONG *WindowState ); + [propput] HRESULT BackgroundPalette( [in] LONG BackgroundPalette ); + [propget] HRESULT BackgroundPalette( [out] LONG *pBackgroundPalette ); + [propput] HRESULT Visible( [in] LONG Visible ); + [propget] HRESULT Visible( [out] LONG *pVisible ); + [propput] HRESULT Left( [in] LONG Left ); + [propget] HRESULT Left( [out] LONG *pLeft ); + [propput] HRESULT Width( [in] LONG Width ); + [propget] HRESULT Width( [out] LONG *pWidth ); + [propput] HRESULT Top( [in] LONG Top ); + [propget] HRESULT Top( [out] LONG *pTop ); + [propput] HRESULT Height( [in] LONG Height ); + [propget] HRESULT Height( [out] LONG *pHeight ); + [propput] HRESULT Owner( [in] OAHWND Owner ); + [propget] HRESULT Owner( [out] OAHWND *Owner ); + [propput] HRESULT MessageDrain( [in] OAHWND Drain ); + [propget] HRESULT MessageDrain( [out] OAHWND *Drain ); + [propget] HRESULT BorderColor( [out] LONG *Color ); + [propput] HRESULT BorderColor( [in] LONG Color ); + [propget] HRESULT FullScreenMode( [out] LONG *FullScreenMode ); + [propput] HRESULT FullScreenMode( [in] LONG FullScreenMode ); + HRESULT SetWindowForeground( [in] LONG Focus ); + HRESULT NotifyOwnerMessage( [in] OAHWND hwnd, [in] LONG uMsg, [in] LONG_PTR wParam, [in] LONG_PTR lParam ); + HRESULT SetWindowPosition( [in] LONG Left, [in] LONG Top, [in] LONG Width, [in] LONG Height ); + HRESULT GetWindowPosition( [out] LONG *pLeft, [out] LONG *pTop, [out] LONG *pWidth, [out] LONG *pHeight ); + HRESULT GetMinIdealImageSize( [out] LONG *pWidth, [out] LONG *pHeight ); + HRESULT GetMaxIdealImageSize( [out] LONG *pWidth, [out] LONG *pHeight ); + HRESULT GetRestorePosition( [out] LONG *pLeft, [out] LONG *pTop, [out] LONG *pWidth, [out] LONG *pHeight ); + HRESULT HideCursor( [in] LONG HideCursor ); + HRESULT IsCursorHidden( [out] LONG *CursorHidden ); + } -/***************************************************************************** - * IBasicVideo interface - */ -[ - object, - uuid(56a868b5-0ad4-11ce-b03a-0020af0ba770), - pointer_default(unique) -] -interface IBasicVideo : IDispatch -{ - [propget] HRESULT AvgTimePerFrame( [out] REFTIME *pAvgTimePerFrame ); - [propget] HRESULT BitRate( [out] LONG *pBitRate ); - [propget] HRESULT BitErrorRate( [out] LONG *pBitErrorRate ); - [propget] HRESULT VideoWidth( [out] LONG *pVideoWidth ); - [propget] HRESULT VideoHeight( [out] LONG *pVideoHeight ); - [propput] HRESULT SourceLeft( [in] LONG SourceLeft ); - [propget] HRESULT SourceLeft( [out] LONG *pSourceLeft ); - [propput] HRESULT SourceWidth( [in] LONG SourceWidth ); - [propget] HRESULT SourceWidth( [out] LONG *pSourceWidth ); - [propput] HRESULT SourceTop( [in] LONG SourceTop ); - [propget] HRESULT SourceTop( [out] LONG *pSourceTop ); - [propput] HRESULT SourceHeight( [in] LONG SourceHeight ); - [propget] HRESULT SourceHeight( [out] LONG *pSourceHeight ); - [propput] HRESULT DestinationLeft( [in] LONG DestinationLeft ); - [propget] HRESULT DestinationLeft( [out] LONG *pDestinationLeft ); - [propput] HRESULT DestinationWidth( [in] LONG DestinationWidth ); - [propget] HRESULT DestinationWidth( [out] LONG *pDestinationWidth ); - [propput] HRESULT DestinationTop( [in] LONG DestinationTop ); - [propget] HRESULT DestinationTop( [out] LONG *pDestinationTop ); - [propput] HRESULT DestinationHeight( [in] LONG DestinationHeight ); - [propget] HRESULT DestinationHeight( [out] LONG *pDestinationHeight ); - HRESULT SetSourcePosition( [in] LONG Left, [in] LONG Top, [in] LONG Width, [in] LONG Height ); - HRESULT GetSourcePosition( [out] LONG *pLeft, [out] LONG *pTop, [out] LONG *pWidth, [out] LONG *pHeight ); - HRESULT SetDefaultSourcePosition(); - HRESULT SetDestinationPosition( [in] LONG Left, [in] LONG Top, [in] LONG Width, [in] LONG Height ); - HRESULT GetDestinationPosition( [out] LONG *pLeft, [out] LONG *pTop, [out] LONG *pWidth, [out] LONG *pHeight ); - HRESULT SetDefaultDestinationPosition(); - HRESULT GetVideoSize( [out] LONG *pWidth, [out] LONG *pHeight ); - HRESULT GetVideoPaletteEntries( [in] LONG StartIndex, - [in] LONG Entries, - [out] LONG *pRetrieved, - [out, size_is(Entries), length_is(*pRetrieved)] LONG *pPalette ); - HRESULT GetCurrentImage( [in, out] LONG *pBufferSize, - [out, size_is(*pBufferSize), length_is(*pBufferSize)] LONG *pDIBImage ); - HRESULT IsUsingDefaultSource(); - HRESULT IsUsingDefaultDestination(); -} + /*************************************************************************** + * IBasicVideo interface + */ + [ + object, + uuid(56a868b5-0ad4-11ce-b03a-0020af0ba770), + pointer_default(unique) + ] + interface IBasicVideo : IDispatch + { + [propget] HRESULT AvgTimePerFrame( [out] REFTIME *pAvgTimePerFrame ); + [propget] HRESULT BitRate( [out] LONG *pBitRate ); + [propget] HRESULT BitErrorRate( [out] LONG *pBitErrorRate ); + [propget] HRESULT VideoWidth( [out] LONG *pVideoWidth ); + [propget] HRESULT VideoHeight( [out] LONG *pVideoHeight ); + [propput] HRESULT SourceLeft( [in] LONG SourceLeft ); + [propget] HRESULT SourceLeft( [out] LONG *pSourceLeft ); + [propput] HRESULT SourceWidth( [in] LONG SourceWidth ); + [propget] HRESULT SourceWidth( [out] LONG *pSourceWidth ); + [propput] HRESULT SourceTop( [in] LONG SourceTop ); + [propget] HRESULT SourceTop( [out] LONG *pSourceTop ); + [propput] HRESULT SourceHeight( [in] LONG SourceHeight ); + [propget] HRESULT SourceHeight( [out] LONG *pSourceHeight ); + [propput] HRESULT DestinationLeft( [in] LONG DestinationLeft ); + [propget] HRESULT DestinationLeft( [out] LONG *pDestinationLeft ); + [propput] HRESULT DestinationWidth( [in] LONG DestinationWidth ); + [propget] HRESULT DestinationWidth( [out] LONG *pDestinationWidth ); + [propput] HRESULT DestinationTop( [in] LONG DestinationTop ); + [propget] HRESULT DestinationTop( [out] LONG *pDestinationTop ); + [propput] HRESULT DestinationHeight( [in] LONG DestinationHeight ); + [propget] HRESULT DestinationHeight( [out] LONG *pDestinationHeight ); + HRESULT SetSourcePosition( [in] LONG Left, [in] LONG Top, [in] LONG Width, [in] LONG Height ); + HRESULT GetSourcePosition( [out] LONG *pLeft, [out] LONG *pTop, [out] LONG *pWidth, [out] LONG *pHeight ); + HRESULT SetDefaultSourcePosition(); + HRESULT SetDestinationPosition( [in] LONG Left, [in] LONG Top, [in] LONG Width, [in] LONG Height ); + HRESULT GetDestinationPosition( [out] LONG *pLeft, [out] LONG *pTop, [out] LONG *pWidth, [out] LONG *pHeight ); + HRESULT SetDefaultDestinationPosition(); + HRESULT GetVideoSize( [out] LONG *pWidth, [out] LONG *pHeight ); + HRESULT GetVideoPaletteEntries( [in] LONG StartIndex, + [in] LONG Entries, + [out] LONG *pRetrieved, + [out, size_is(Entries), length_is(*pRetrieved)] LONG *pPalette ); + HRESULT GetCurrentImage( [in, out] LONG *pBufferSize, + [out, size_is(*pBufferSize), length_is(*pBufferSize)] LONG *pDIBImage ); + HRESULT IsUsingDefaultSource(); + HRESULT IsUsingDefaultDestination(); + } -[ - uuid(329bb360-f6ea-11d1-9038-00a0c9697298), - helpstring("IBasicVideo2"), - odl -] + [ + uuid(329bb360-f6ea-11d1-9038-00a0c9697298), + helpstring("IBasicVideo2"), + odl + ] -interface IBasicVideo2 : IBasicVideo -{ - HRESULT GetPreferredAspectRatio([out] LONG *plAspectX, [out] LONG *plAspectY); -} + interface IBasicVideo2 : IBasicVideo + { + HRESULT GetPreferredAspectRatio([out] LONG *plAspectX, [out] LONG *plAspectY); + } -/***************************************************************************** - * IMediaEvent interface - */ -[ - object, - uuid(56a868b6-0ad4-11ce-b03a-0020af0ba770), - pointer_default(unique) -] -interface IMediaEvent : IDispatch -{ - HRESULT GetEventHandle( [out] OAEVENT *hEvent ); - HRESULT GetEvent( [out] LONG *lEventCode, [out] LONG_PTR *lParam1, [out] LONG_PTR *lParam2, [in] LONG msTimeout ); - HRESULT WaitForCompletion( [in] LONG msTimeout, [out] LONG *pEvCode ); - HRESULT CancelDefaultHandling( [in] LONG lEvCode ); - HRESULT RestoreDefaultHandling( [in] LONG lEvCode ); - HRESULT FreeEventParams( [in] LONG lEvCode, [in] LONG_PTR lParam1, [in] LONG_PTR lParam2 ); -} + /*************************************************************************** + * IMediaEvent interface + */ + [ + object, + uuid(56a868b6-0ad4-11ce-b03a-0020af0ba770), + pointer_default(unique) + ] + interface IMediaEvent : IDispatch + { + HRESULT GetEventHandle( [out] OAEVENT *hEvent ); + HRESULT GetEvent( [out] LONG *lEventCode, [out] LONG_PTR *lParam1, [out] LONG_PTR *lParam2, [in] LONG msTimeout ); + HRESULT WaitForCompletion( [in] LONG msTimeout, [out] LONG *pEvCode ); + HRESULT CancelDefaultHandling( [in] LONG lEvCode ); + HRESULT RestoreDefaultHandling( [in] LONG lEvCode ); + HRESULT FreeEventParams( [in] LONG lEvCode, [in] LONG_PTR lParam1, [in] LONG_PTR lParam2 ); + } -/***************************************************************************** - * IMediaEventEx interface - */ -[ - object, - uuid(56a868c0-0ad4-11ce-b03a-0020af0ba770), - pointer_default(unique) -] -interface IMediaEventEx : IMediaEvent -{ - HRESULT SetNotifyWindow( [in] OAHWND hwnd, [in] LONG lMsg, [in] LONG_PTR lInstanceData ); - HRESULT SetNotifyFlags( [in] LONG lNoNotifyFlags ); - HRESULT GetNotifyFlags( [out] LONG *lplNoNotifyFlags ); -} + /*************************************************************************** + * IMediaEventEx interface + */ + [ + object, + uuid(56a868c0-0ad4-11ce-b03a-0020af0ba770), + pointer_default(unique) + ] + interface IMediaEventEx : IMediaEvent + { + HRESULT SetNotifyWindow( [in] OAHWND hwnd, [in] LONG lMsg, [in] LONG_PTR lInstanceData ); + HRESULT SetNotifyFlags( [in] LONG lNoNotifyFlags ); + HRESULT GetNotifyFlags( [out] LONG *lplNoNotifyFlags ); + } -/***************************************************************************** - * IMediaPosition interface - */ -[ - object, - uuid(56a868b2-0ad4-11ce-b03a-0020af0ba770), - pointer_default(unique) -] -interface IMediaPosition : IDispatch -{ - HRESULT get_Duration( [out] REFTIME *plength ); - HRESULT put_CurrentPosition( [in] REFTIME llTime ); - HRESULT get_CurrentPosition( [out] REFTIME *pllTime ); - HRESULT get_StopTime( [out] REFTIME *pllTime ); - HRESULT put_StopTime( [in] REFTIME llTime ); - HRESULT get_PrerollTime( [out] REFTIME *pllTime ); - HRESULT put_PrerollTime( [in] REFTIME llTime ); - HRESULT put_Rate( [in] double dRate ); - HRESULT get_Rate( [out] double *pdRate ); - HRESULT CanSeekForward( [out] LONG *pCanSeekForward ); - HRESULT CanSeekBackward( [out] LONG *pCanSeekBackward ); -} + /*************************************************************************** + * IMediaPosition interface + */ + [ + object, + uuid(56a868b2-0ad4-11ce-b03a-0020af0ba770), + pointer_default(unique) + ] + interface IMediaPosition : IDispatch + { + HRESULT get_Duration( [out] REFTIME *plength ); + HRESULT put_CurrentPosition( [in] REFTIME llTime ); + HRESULT get_CurrentPosition( [out] REFTIME *pllTime ); + HRESULT get_StopTime( [out] REFTIME *pllTime ); + HRESULT put_StopTime( [in] REFTIME llTime ); + HRESULT get_PrerollTime( [out] REFTIME *pllTime ); + HRESULT put_PrerollTime( [in] REFTIME llTime ); + HRESULT put_Rate( [in] double dRate ); + HRESULT get_Rate( [out] double *pdRate ); + HRESULT CanSeekForward( [out] LONG *pCanSeekForward ); + HRESULT CanSeekBackward( [out] LONG *pCanSeekBackward ); + } + +} /* library QuartzTypeLib */