ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

control.idl
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2002 Lionel Ulmer
00003  * Copyright (C) 2004 Alexandre Julliard
00004  *
00005  * This library is free software; you can redistribute it and/or
00006  * modify it under the terms of the GNU Lesser General Public
00007  * License as published by the Free Software Foundation; either
00008  * version 2.1 of the License, or (at your option) any later version.
00009  *
00010  * This library is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013  * Lesser General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU Lesser General Public
00016  * License along with this library; if not, write to the Free Software
00017  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00018  */
00019 
00020 import "oaidl.idl";
00021 
00022 interface IMediaControl;
00023 interface IBasicAudio;
00024 interface IBasicVideo;
00025 interface IVideoWindow;
00026 interface IMediaEvent;
00027 interface IMediaEventEx;
00028 interface IMediaPosition;
00029 
00030 typedef LONG OAFilterState;
00031 typedef LONG_PTR OAHWND;
00032 typedef LONG_PTR OAEVENT;
00033 
00034 cpp_quote("#ifndef REFTIME_DEFINED")
00035 cpp_quote("#define REFTIME_DEFINED")
00036 typedef DOUBLE REFTIME;
00037 cpp_quote("#endif")
00038 
00039 /*****************************************************************************
00040  * IMediaControl interface
00041  */
00042 [
00043     object,
00044     uuid(56a868b1-0ad4-11ce-b03a-0020af0ba770),
00045     pointer_default(unique)
00046 ]
00047 interface IMediaControl : IDispatch
00048 {
00049     HRESULT Run();
00050     HRESULT Pause();
00051     HRESULT Stop();
00052     HRESULT GetState( [in] LONG msTimeout, [out] OAFilterState *pfs );
00053     HRESULT RenderFile( [in] BSTR strFilename );
00054     HRESULT AddSourceFilter( [in] BSTR strFilename, [out] IDispatch **ppUnk );
00055     [propget] HRESULT FilterCollection( [out] IDispatch **ppUnk );
00056     [propget] HRESULT RegFilterCollection( [out] IDispatch **ppUnk );
00057     HRESULT StopWhenReady();
00058 }
00059 
00060 
00061 /*****************************************************************************
00062  * IBasicAudio interface
00063  */
00064 [
00065     object,
00066     uuid(56a868b3-0ad4-11ce-b03a-0020af0ba770),
00067     pointer_default(unique)
00068 ]
00069 interface IBasicAudio : IDispatch
00070 {
00071     [propput] HRESULT Volume( [in] LONG lVolume );
00072     [propget] HRESULT Volume( [out] LONG *plVolume );
00073     [propput] HRESULT Balance( [in] LONG lBalance );
00074     [propget] HRESULT Balance( [out] LONG *plBalance );
00075 }
00076 
00077 
00078 /*****************************************************************************
00079  * IVideoWindow interface
00080  */
00081 [
00082     object,
00083     uuid(56a868b4-0ad4-11ce-b03a-0020af0ba770),
00084     pointer_default(unique)
00085 ]
00086 interface IVideoWindow : IDispatch
00087 {
00088     [propput] HRESULT Caption( [in] BSTR strCaption );
00089     [propget] HRESULT Caption( [out] BSTR *strCaption );
00090     [propput] HRESULT WindowStyle( [in] LONG WindowStyle );
00091     [propget] HRESULT WindowStyle( [out] LONG *WindowStyle );
00092     [propput] HRESULT WindowStyleEx( [in] LONG WindowStyleEx );
00093     [propget] HRESULT WindowStyleEx( [out] LONG *WindowStyleEx );
00094     [propput] HRESULT AutoShow( [in] LONG AutoShow );
00095     [propget] HRESULT AutoShow( [out] LONG *AutoShow );
00096     [propput] HRESULT WindowState( [in] LONG WindowState );
00097     [propget] HRESULT WindowState( [out] LONG *WindowState );
00098     [propput] HRESULT BackgroundPalette( [in] LONG BackgroundPalette );
00099     [propget] HRESULT BackgroundPalette( [out] LONG *pBackgroundPalette );
00100     [propput] HRESULT Visible( [in] LONG Visible );
00101     [propget] HRESULT Visible( [out] LONG *pVisible );
00102     [propput] HRESULT Left( [in] LONG Left );
00103     [propget] HRESULT Left( [out] LONG *pLeft );
00104     [propput] HRESULT Width( [in] LONG Width );
00105     [propget] HRESULT Width( [out] LONG *pWidth );
00106     [propput] HRESULT Top( [in] LONG Top );
00107     [propget] HRESULT Top( [out] LONG *pTop );
00108     [propput] HRESULT Height( [in] LONG Height );
00109     [propget] HRESULT Height( [out] LONG *pHeight );
00110     [propput] HRESULT Owner( [in] OAHWND Owner );
00111     [propget] HRESULT Owner( [out] OAHWND *Owner );
00112     [propput] HRESULT MessageDrain( [in] OAHWND Drain );
00113     [propget] HRESULT MessageDrain( [out] OAHWND *Drain );
00114     [propget] HRESULT BorderColor( [out] LONG *Color );
00115     [propput] HRESULT BorderColor( [in] LONG Color );
00116     [propget] HRESULT FullScreenMode( [out] LONG *FullScreenMode );
00117     [propput] HRESULT FullScreenMode( [in] LONG FullScreenMode );
00118     HRESULT SetWindowForeground( [in] LONG Focus );
00119     HRESULT NotifyOwnerMessage( [in] OAHWND hwnd, [in] LONG uMsg, [in] LONG_PTR wParam, [in] LONG_PTR lParam );
00120     HRESULT SetWindowPosition( [in] LONG Left, [in] LONG Top, [in] LONG Width, [in] LONG Height );
00121     HRESULT GetWindowPosition( [out] LONG *pLeft, [out] LONG *pTop, [out] LONG *pWidth, [out] LONG *pHeight );
00122     HRESULT GetMinIdealImageSize( [out] LONG *pWidth, [out] LONG *pHeight );
00123     HRESULT GetMaxIdealImageSize( [out] LONG *pWidth, [out] LONG *pHeight );
00124     HRESULT GetRestorePosition( [out] LONG *pLeft, [out] LONG *pTop, [out] LONG *pWidth, [out] LONG *pHeight );
00125     HRESULT HideCursor( [in] LONG HideCursor );
00126     HRESULT IsCursorHidden( [out] LONG *CursorHidden );
00127 }
00128 
00129 
00130 /*****************************************************************************
00131  * IBasicVideo interface
00132  */
00133 [
00134     object,
00135     uuid(56a868b5-0ad4-11ce-b03a-0020af0ba770),
00136     pointer_default(unique)
00137 ]
00138 interface IBasicVideo : IDispatch
00139 {
00140     [propget] HRESULT AvgTimePerFrame( [out] REFTIME *pAvgTimePerFrame );
00141     [propget] HRESULT BitRate( [out] LONG *pBitRate );
00142     [propget] HRESULT BitErrorRate( [out] LONG *pBitErrorRate );
00143     [propget] HRESULT VideoWidth( [out] LONG *pVideoWidth );
00144     [propget] HRESULT VideoHeight( [out] LONG *pVideoHeight );
00145     [propput] HRESULT SourceLeft( [in] LONG SourceLeft );
00146     [propget] HRESULT SourceLeft( [out] LONG *pSourceLeft );
00147     [propput] HRESULT SourceWidth( [in] LONG SourceWidth );
00148     [propget] HRESULT SourceWidth( [out] LONG *pSourceWidth );
00149     [propput] HRESULT SourceTop( [in] LONG SourceTop );
00150     [propget] HRESULT SourceTop( [out] LONG *pSourceTop );
00151     [propput] HRESULT SourceHeight( [in] LONG SourceHeight );
00152     [propget] HRESULT SourceHeight( [out] LONG *pSourceHeight );
00153     [propput] HRESULT DestinationLeft( [in] LONG DestinationLeft );
00154     [propget] HRESULT DestinationLeft( [out] LONG *pDestinationLeft );
00155     [propput] HRESULT DestinationWidth( [in] LONG DestinationWidth );
00156     [propget] HRESULT DestinationWidth( [out] LONG *pDestinationWidth );
00157     [propput] HRESULT DestinationTop( [in] LONG DestinationTop );
00158     [propget] HRESULT DestinationTop( [out] LONG *pDestinationTop );
00159     [propput] HRESULT DestinationHeight( [in] LONG DestinationHeight );
00160     [propget] HRESULT DestinationHeight( [out] LONG *pDestinationHeight );
00161     HRESULT SetSourcePosition( [in] LONG Left, [in] LONG Top, [in] LONG Width, [in] LONG Height );
00162     HRESULT GetSourcePosition( [out] LONG *pLeft, [out] LONG *pTop, [out] LONG *pWidth, [out] LONG *pHeight );
00163     HRESULT SetDefaultSourcePosition();
00164     HRESULT SetDestinationPosition( [in] LONG Left, [in] LONG Top, [in] LONG Width, [in] LONG Height );
00165     HRESULT GetDestinationPosition( [out] LONG *pLeft, [out] LONG *pTop, [out] LONG *pWidth, [out] LONG *pHeight );
00166     HRESULT SetDefaultDestinationPosition();
00167     HRESULT GetVideoSize( [out] LONG *pWidth, [out] LONG *pHeight );
00168     HRESULT GetVideoPaletteEntries( [in] LONG StartIndex,
00169                                     [in] LONG Entries,
00170                                     [out] LONG *pRetrieved,
00171                                     [out, size_is(Entries), length_is(*pRetrieved)] LONG *pPalette );
00172     HRESULT GetCurrentImage( [in, out] LONG *pBufferSize,
00173                              [out, size_is(*pBufferSize), length_is(*pBufferSize)] LONG *pDIBImage );
00174     HRESULT IsUsingDefaultSource();
00175     HRESULT IsUsingDefaultDestination();
00176 }
00177 
00178 [
00179     uuid(329bb360-f6ea-11d1-9038-00a0c9697298),
00180     helpstring("IBasicVideo2"),
00181     odl
00182 ]
00183 
00184 interface IBasicVideo2 : IBasicVideo
00185 {
00186     HRESULT GetPreferredAspectRatio([out] LONG *plAspectX, [out] LONG *plAspectY);
00187 }
00188 
00189 
00190 /*****************************************************************************
00191  * IMediaEvent interface
00192  */
00193 [
00194     object,
00195     uuid(56a868b6-0ad4-11ce-b03a-0020af0ba770),
00196     pointer_default(unique)
00197 ]
00198 interface IMediaEvent : IDispatch
00199 {
00200     HRESULT GetEventHandle( [out] OAEVENT *hEvent );
00201     HRESULT GetEvent( [out] LONG *lEventCode, [out] LONG_PTR *lParam1, [out] LONG_PTR *lParam2, [in] LONG msTimeout );
00202     HRESULT WaitForCompletion( [in] LONG msTimeout, [out] LONG *pEvCode );
00203     HRESULT CancelDefaultHandling( [in] LONG lEvCode );
00204     HRESULT RestoreDefaultHandling( [in] LONG lEvCode );
00205     HRESULT FreeEventParams( [in] LONG lEvCode, [in] LONG_PTR lParam1, [in] LONG_PTR lParam2 );
00206 }
00207 
00208 
00209 /*****************************************************************************
00210  * IMediaEventEx interface
00211  */
00212 [
00213     object,
00214     uuid(56a868c0-0ad4-11ce-b03a-0020af0ba770),
00215     pointer_default(unique)
00216 ]
00217 interface IMediaEventEx : IMediaEvent
00218 {
00219     HRESULT SetNotifyWindow( [in] OAHWND hwnd, [in] LONG lMsg, [in] LONG_PTR lInstanceData );
00220     HRESULT SetNotifyFlags( [in] LONG lNoNotifyFlags );
00221     HRESULT GetNotifyFlags( [out] LONG *lplNoNotifyFlags );
00222 }
00223 
00224 
00225 /*****************************************************************************
00226  * IMediaPosition interface
00227  */
00228 [
00229     object,
00230     uuid(56a868b2-0ad4-11ce-b03a-0020af0ba770),
00231     pointer_default(unique)
00232 ]
00233 interface IMediaPosition : IDispatch
00234 {
00235     HRESULT get_Duration( [out] REFTIME *plength );
00236     HRESULT put_CurrentPosition( [in] REFTIME llTime );
00237     HRESULT get_CurrentPosition( [out] REFTIME *pllTime );
00238     HRESULT get_StopTime( [out] REFTIME *pllTime );
00239     HRESULT put_StopTime( [in] REFTIME llTime );
00240     HRESULT get_PrerollTime( [out] REFTIME *pllTime );
00241     HRESULT put_PrerollTime( [in] REFTIME llTime );
00242     HRESULT put_Rate( [in] double dRate );
00243     HRESULT get_Rate( [out] double *pdRate );
00244     HRESULT CanSeekForward( [out] LONG *pCanSeekForward );
00245     HRESULT CanSeekBackward( [out] LONG *pCanSeekBackward );
00246 }

Generated on Sat May 26 2012 04:29:53 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.