home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / control.h < prev    next >
C/C++ Source or Header  |  1998-04-25  |  26KB  |  789 lines

  1. /* This header file machine-generated by mktyplib.exe */
  2. /* Interface to type library: QuartzTypeLib */
  3.  
  4. #ifndef _QuartzTypeLib_H_
  5. #define _QuartzTypeLib_H_
  6.  
  7. DEFINE_GUID(LIBID_QuartzTypeLib,0x56A868B0L,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
  8. #ifndef BEGIN_INTERFACE
  9. #define BEGIN_INTERFACE
  10. #endif
  11.  
  12. typedef double REFTIME;
  13.  
  14. typedef long OAEVENT;
  15.  
  16. typedef long OAHWND;
  17.  
  18. typedef long OAFilterState;
  19.  
  20. DEFINE_GUID(IID_IAMCollection,0x56A868B9L,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
  21.  
  22. /* Definition of interface: IAMCollection */
  23. #undef INTERFACE
  24. #define INTERFACE IAMCollection
  25.  
  26. DECLARE_INTERFACE_(IAMCollection, IDispatch)
  27. {
  28. BEGIN_INTERFACE
  29. #ifndef NO_BASEINTERFACE_FUNCS
  30.  
  31.     /* IUnknown methods */
  32.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  33.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  34.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  35.  
  36.     /* IDispatch methods */
  37.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  38.  
  39.     STDMETHOD(GetTypeInfo)(
  40.       THIS_
  41.       UINT itinfo,
  42.       LCID lcid,
  43.       ITypeInfo FAR* FAR* pptinfo) PURE;
  44.  
  45.     STDMETHOD(GetIDsOfNames)(
  46.       THIS_
  47.       REFIID riid,
  48.       OLECHAR FAR* FAR* rgszNames,
  49.       UINT cNames,
  50.       LCID lcid,
  51.       DISPID FAR* rgdispid) PURE;
  52.  
  53.     STDMETHOD(Invoke)(
  54.       THIS_
  55.       DISPID dispidMember,
  56.       REFIID riid,
  57.       LCID lcid,
  58.       WORD wFlags,
  59.       DISPPARAMS FAR* pdispparams,
  60.       VARIANT FAR* pvarResult,
  61.       EXCEPINFO FAR* pexcepinfo,
  62.       UINT FAR* puArgErr) PURE;
  63. #endif
  64.  
  65.     /* IAMCollection methods */
  66.     STDMETHOD(get_Count)(THIS_ long FAR* plCount) PURE;
  67.     STDMETHOD(Item)(THIS_ long lItem, IUnknown * FAR* ppUnk) PURE;
  68.     STDMETHOD(get__NewEnum)(THIS_ IUnknown * FAR* ppUnk) PURE;
  69. };
  70.  
  71. DEFINE_GUID(IID_IMediaControl,0x56A868B1L,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
  72.  
  73. /* Definition of interface: IMediaControl */
  74. #undef INTERFACE
  75. #define INTERFACE IMediaControl
  76.  
  77. DECLARE_INTERFACE_(IMediaControl, IDispatch)
  78. {
  79. BEGIN_INTERFACE
  80. #ifndef NO_BASEINTERFACE_FUNCS
  81.  
  82.     /* IUnknown methods */
  83.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  84.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  85.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  86.  
  87.     /* IDispatch methods */
  88.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  89.  
  90.     STDMETHOD(GetTypeInfo)(
  91.       THIS_
  92.       UINT itinfo,
  93.       LCID lcid,
  94.       ITypeInfo FAR* FAR* pptinfo) PURE;
  95.  
  96.     STDMETHOD(GetIDsOfNames)(
  97.       THIS_
  98.       REFIID riid,
  99.       OLECHAR FAR* FAR* rgszNames,
  100.       UINT cNames,
  101.       LCID lcid,
  102.       DISPID FAR* rgdispid) PURE;
  103.  
  104.     STDMETHOD(Invoke)(
  105.       THIS_
  106.       DISPID dispidMember,
  107.       REFIID riid,
  108.       LCID lcid,
  109.       WORD wFlags,
  110.       DISPPARAMS FAR* pdispparams,
  111.       VARIANT FAR* pvarResult,
  112.       EXCEPINFO FAR* pexcepinfo,
  113.       UINT FAR* puArgErr) PURE;
  114. #endif
  115.  
  116.     /* IMediaControl methods */
  117.     STDMETHOD(Run)(THIS) PURE;
  118.     STDMETHOD(Pause)(THIS) PURE;
  119.     STDMETHOD(Stop)(THIS) PURE;
  120.     STDMETHOD(GetState)(THIS_ long msTimeout, OAFilterState FAR* pfs) PURE;
  121.     STDMETHOD(RenderFile)(THIS_ BSTR strFilename) PURE;
  122.     STDMETHOD(AddSourceFilter)(THIS_ BSTR strFilename, IDispatch * FAR* ppUnk) PURE;
  123.     STDMETHOD(get_FilterCollection)(THIS_ IDispatch * FAR* ppUnk) PURE;
  124.     STDMETHOD(get_RegFilterCollection)(THIS_ IDispatch * FAR* ppUnk) PURE;
  125.     STDMETHOD(StopWhenReady)(THIS) PURE;
  126. };
  127.  
  128. DEFINE_GUID(IID_IMediaEvent,0x56A868B6L,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
  129.  
  130. /* Definition of interface: IMediaEvent */
  131. #undef INTERFACE
  132. #define INTERFACE IMediaEvent
  133.  
  134. DECLARE_INTERFACE_(IMediaEvent, IDispatch)
  135. {
  136. BEGIN_INTERFACE
  137. #ifndef NO_BASEINTERFACE_FUNCS
  138.  
  139.     /* IUnknown methods */
  140.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  141.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  142.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  143.  
  144.     /* IDispatch methods */
  145.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  146.  
  147.     STDMETHOD(GetTypeInfo)(
  148.       THIS_
  149.       UINT itinfo,
  150.       LCID lcid,
  151.       ITypeInfo FAR* FAR* pptinfo) PURE;
  152.  
  153.     STDMETHOD(GetIDsOfNames)(
  154.       THIS_
  155.       REFIID riid,
  156.       OLECHAR FAR* FAR* rgszNames,
  157.       UINT cNames,
  158.       LCID lcid,
  159.       DISPID FAR* rgdispid) PURE;
  160.  
  161.     STDMETHOD(Invoke)(
  162.       THIS_
  163.       DISPID dispidMember,
  164.       REFIID riid,
  165.       LCID lcid,
  166.       WORD wFlags,
  167.       DISPPARAMS FAR* pdispparams,
  168.       VARIANT FAR* pvarResult,
  169.       EXCEPINFO FAR* pexcepinfo,
  170.       UINT FAR* puArgErr) PURE;
  171. #endif
  172.  
  173.     /* IMediaEvent methods */
  174.     STDMETHOD(GetEventHandle)(THIS_ OAEVENT FAR* hEvent) PURE;
  175.     STDMETHOD(GetEvent)(THIS_ long FAR* lEventCode, long FAR* lParam1, long FAR* lParam2, long msTimeout) PURE;
  176.     STDMETHOD(WaitForCompletion)(THIS_ long msTimeout, long FAR* pEvCode) PURE;
  177.     STDMETHOD(CancelDefaultHandling)(THIS_ long lEvCode) PURE;
  178.     STDMETHOD(RestoreDefaultHandling)(THIS_ long lEvCode) PURE;
  179.     STDMETHOD(FreeEventParams)(THIS_ long lEvCode, long lParam1, long lParam2) PURE;
  180. };
  181.  
  182. DEFINE_GUID(IID_IMediaEventEx,0x56A868C0L,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
  183.  
  184. /* Definition of interface: IMediaEventEx */
  185. #undef INTERFACE
  186. #define INTERFACE IMediaEventEx
  187.  
  188. DECLARE_INTERFACE_(IMediaEventEx, IMediaEvent)
  189. {
  190. BEGIN_INTERFACE
  191. #ifndef NO_BASEINTERFACE_FUNCS
  192.  
  193.     /* IUnknown methods */
  194.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  195.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  196.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  197.  
  198.     /* IDispatch methods */
  199.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  200.  
  201.     STDMETHOD(GetTypeInfo)(
  202.       THIS_
  203.       UINT itinfo,
  204.       LCID lcid,
  205.       ITypeInfo FAR* FAR* pptinfo) PURE;
  206.  
  207.     STDMETHOD(GetIDsOfNames)(
  208.       THIS_
  209.       REFIID riid,
  210.       OLECHAR FAR* FAR* rgszNames,
  211.       UINT cNames,
  212.       LCID lcid,
  213.       DISPID FAR* rgdispid) PURE;
  214.  
  215.     STDMETHOD(Invoke)(
  216.       THIS_
  217.       DISPID dispidMember,
  218.       REFIID riid,
  219.       LCID lcid,
  220.       WORD wFlags,
  221.       DISPPARAMS FAR* pdispparams,
  222.       VARIANT FAR* pvarResult,
  223.       EXCEPINFO FAR* pexcepinfo,
  224.       UINT FAR* puArgErr) PURE;
  225.  
  226.     /* IMediaEvent methods */
  227.     STDMETHOD(GetEventHandle)(THIS_ OAEVENT FAR* hEvent) PURE;
  228.     STDMETHOD(GetEvent)(THIS_ long FAR* lEventCode, long FAR* lParam1, long FAR* lParam2, long msTimeout) PURE;
  229.     STDMETHOD(WaitForCompletion)(THIS_ long msTimeout, long FAR* pEvCode) PURE;
  230.     STDMETHOD(CancelDefaultHandling)(THIS_ long lEvCode) PURE;
  231.     STDMETHOD(RestoreDefaultHandling)(THIS_ long lEvCode) PURE;
  232.     STDMETHOD(FreeEventParams)(THIS_ long lEvCode, long lParam1, long lParam2) PURE;
  233. #endif
  234.  
  235.     /* IMediaEventEx methods */
  236.     STDMETHOD(SetNotifyWindow)(THIS_ OAHWND hwnd, long lMsg, long lInstanceData) PURE;
  237.     STDMETHOD(SetNotifyFlags)(THIS_ long lNoNotifyFlags) PURE;
  238.     STDMETHOD(GetNotifyFlags)(THIS_ long FAR* lplNoNotifyFlags) PURE;
  239. };
  240.  
  241. DEFINE_GUID(IID_IMediaPosition,0x56A868B2L,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
  242.  
  243. /* Definition of interface: IMediaPosition */
  244. #undef INTERFACE
  245. #define INTERFACE IMediaPosition
  246.  
  247. DECLARE_INTERFACE_(IMediaPosition, IDispatch)
  248. {
  249. BEGIN_INTERFACE
  250. #ifndef NO_BASEINTERFACE_FUNCS
  251.  
  252.     /* IUnknown methods */
  253.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  254.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  255.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  256.  
  257.     /* IDispatch methods */
  258.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  259.  
  260.     STDMETHOD(GetTypeInfo)(
  261.       THIS_
  262.       UINT itinfo,
  263.       LCID lcid,
  264.       ITypeInfo FAR* FAR* pptinfo) PURE;
  265.  
  266.     STDMETHOD(GetIDsOfNames)(
  267.       THIS_
  268.       REFIID riid,
  269.       OLECHAR FAR* FAR* rgszNames,
  270.       UINT cNames,
  271.       LCID lcid,
  272.       DISPID FAR* rgdispid) PURE;
  273.  
  274.     STDMETHOD(Invoke)(
  275.       THIS_
  276.       DISPID dispidMember,
  277.       REFIID riid,
  278.       LCID lcid,
  279.       WORD wFlags,
  280.       DISPPARAMS FAR* pdispparams,
  281.       VARIANT FAR* pvarResult,
  282.       EXCEPINFO FAR* pexcepinfo,
  283.       UINT FAR* puArgErr) PURE;
  284. #endif
  285.  
  286.     /* IMediaPosition methods */
  287.     STDMETHOD(get_Duration)(THIS_ REFTIME FAR* plength) PURE;
  288.     STDMETHOD(put_CurrentPosition)(THIS_ REFTIME llTime) PURE;
  289.     STDMETHOD(get_CurrentPosition)(THIS_ REFTIME FAR* pllTime) PURE;
  290.     STDMETHOD(get_StopTime)(THIS_ REFTIME FAR* pllTime) PURE;
  291.     STDMETHOD(put_StopTime)(THIS_ REFTIME llTime) PURE;
  292.     STDMETHOD(get_PrerollTime)(THIS_ REFTIME FAR* pllTime) PURE;
  293.     STDMETHOD(put_PrerollTime)(THIS_ REFTIME llTime) PURE;
  294.     STDMETHOD(put_Rate)(THIS_ double dRate) PURE;
  295.     STDMETHOD(get_Rate)(THIS_ double FAR* pdRate) PURE;
  296.     STDMETHOD(CanSeekForward)(THIS_ long FAR* pCanSeekForward) PURE;
  297.     STDMETHOD(CanSeekBackward)(THIS_ long FAR* pCanSeekBackward) PURE;
  298. };
  299.  
  300. DEFINE_GUID(IID_IBasicAudio,0x56A868B3L,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
  301.  
  302. /* Definition of interface: IBasicAudio */
  303. #undef INTERFACE
  304. #define INTERFACE IBasicAudio
  305.  
  306. DECLARE_INTERFACE_(IBasicAudio, IDispatch)
  307. {
  308. BEGIN_INTERFACE
  309. #ifndef NO_BASEINTERFACE_FUNCS
  310.  
  311.     /* IUnknown methods */
  312.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  313.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  314.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  315.  
  316.     /* IDispatch methods */
  317.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  318.  
  319.     STDMETHOD(GetTypeInfo)(
  320.       THIS_
  321.       UINT itinfo,
  322.       LCID lcid,
  323.       ITypeInfo FAR* FAR* pptinfo) PURE;
  324.  
  325.     STDMETHOD(GetIDsOfNames)(
  326.       THIS_
  327.       REFIID riid,
  328.       OLECHAR FAR* FAR* rgszNames,
  329.       UINT cNames,
  330.       LCID lcid,
  331.       DISPID FAR* rgdispid) PURE;
  332.  
  333.     STDMETHOD(Invoke)(
  334.       THIS_
  335.       DISPID dispidMember,
  336.       REFIID riid,
  337.       LCID lcid,
  338.       WORD wFlags,
  339.       DISPPARAMS FAR* pdispparams,
  340.       VARIANT FAR* pvarResult,
  341.       EXCEPINFO FAR* pexcepinfo,
  342.       UINT FAR* puArgErr) PURE;
  343. #endif
  344.  
  345.     /* IBasicAudio methods */
  346.     STDMETHOD(put_Volume)(THIS_ long lVolume) PURE;
  347.     STDMETHOD(get_Volume)(THIS_ long FAR* plVolume) PURE;
  348.     STDMETHOD(put_Balance)(THIS_ long lBalance) PURE;
  349.     STDMETHOD(get_Balance)(THIS_ long FAR* plBalance) PURE;
  350. };
  351.  
  352. DEFINE_GUID(IID_IVideoWindow,0x56A868B4L,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
  353.  
  354. /* Definition of interface: IVideoWindow */
  355. #undef INTERFACE
  356. #define INTERFACE IVideoWindow
  357.  
  358. DECLARE_INTERFACE_(IVideoWindow, IDispatch)
  359. {
  360. BEGIN_INTERFACE
  361. #ifndef NO_BASEINTERFACE_FUNCS
  362.  
  363.     /* IUnknown methods */
  364.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  365.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  366.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  367.  
  368.     /* IDispatch methods */
  369.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  370.  
  371.     STDMETHOD(GetTypeInfo)(
  372.       THIS_
  373.       UINT itinfo,
  374.       LCID lcid,
  375.       ITypeInfo FAR* FAR* pptinfo) PURE;
  376.  
  377.     STDMETHOD(GetIDsOfNames)(
  378.       THIS_
  379.       REFIID riid,
  380.       OLECHAR FAR* FAR* rgszNames,
  381.       UINT cNames,
  382.       LCID lcid,
  383.       DISPID FAR* rgdispid) PURE;
  384.  
  385.     STDMETHOD(Invoke)(
  386.       THIS_
  387.       DISPID dispidMember,
  388.       REFIID riid,
  389.       LCID lcid,
  390.       WORD wFlags,
  391.       DISPPARAMS FAR* pdispparams,
  392.       VARIANT FAR* pvarResult,
  393.       EXCEPINFO FAR* pexcepinfo,
  394.       UINT FAR* puArgErr) PURE;
  395. #endif
  396.  
  397.     /* IVideoWindow methods */
  398.     STDMETHOD(put_Caption)(THIS_ BSTR strCaption) PURE;
  399.     STDMETHOD(get_Caption)(THIS_ BSTR FAR* strCaption) PURE;
  400.     STDMETHOD(put_WindowStyle)(THIS_ long WindowStyle) PURE;
  401.     STDMETHOD(get_WindowStyle)(THIS_ long FAR* WindowStyle) PURE;
  402.     STDMETHOD(put_WindowStyleEx)(THIS_ long WindowStyleEx) PURE;
  403.     STDMETHOD(get_WindowStyleEx)(THIS_ long FAR* WindowStyleEx) PURE;
  404.     STDMETHOD(put_AutoShow)(THIS_ long AutoShow) PURE;
  405.     STDMETHOD(get_AutoShow)(THIS_ long FAR* AutoShow) PURE;
  406.     STDMETHOD(put_WindowState)(THIS_ long WindowState) PURE;
  407.     STDMETHOD(get_WindowState)(THIS_ long FAR* WindowState) PURE;
  408.     STDMETHOD(put_BackgroundPalette)(THIS_ long BackgroundPalette) PURE;
  409.     STDMETHOD(get_BackgroundPalette)(THIS_ long FAR* pBackgroundPalette) PURE;
  410.     STDMETHOD(put_Visible)(THIS_ long Visible) PURE;
  411.     STDMETHOD(get_Visible)(THIS_ long FAR* pVisible) PURE;
  412.     STDMETHOD(put_Left)(THIS_ long Left) PURE;
  413.     STDMETHOD(get_Left)(THIS_ long FAR* pLeft) PURE;
  414.     STDMETHOD(put_Width)(THIS_ long Width) PURE;
  415.     STDMETHOD(get_Width)(THIS_ long FAR* pWidth) PURE;
  416.     STDMETHOD(put_Top)(THIS_ long Top) PURE;
  417.     STDMETHOD(get_Top)(THIS_ long FAR* pTop) PURE;
  418.     STDMETHOD(put_Height)(THIS_ long Height) PURE;
  419.     STDMETHOD(get_Height)(THIS_ long FAR* pHeight) PURE;
  420.     STDMETHOD(put_Owner)(THIS_ OAHWND Owner) PURE;
  421.     STDMETHOD(get_Owner)(THIS_ OAHWND FAR* Owner) PURE;
  422.     STDMETHOD(put_MessageDrain)(THIS_ OAHWND Drain) PURE;
  423.     STDMETHOD(get_MessageDrain)(THIS_ OAHWND FAR* Drain) PURE;
  424.     STDMETHOD(get_BorderColor)(THIS_ long FAR* Color) PURE;
  425.     STDMETHOD(put_BorderColor)(THIS_ long Color) PURE;
  426.     STDMETHOD(get_FullScreenMode)(THIS_ long FAR* FullScreenMode) PURE;
  427.     STDMETHOD(put_FullScreenMode)(THIS_ long FullScreenMode) PURE;
  428.     STDMETHOD(SetWindowForeground)(THIS_ long Focus) PURE;
  429.     STDMETHOD(NotifyOwnerMessage)(THIS_ long hwnd, long uMsg, long wParam, long lParam) PURE;
  430.     STDMETHOD(SetWindowPosition)(THIS_ long Left, long Top, long Width, long Height) PURE;
  431.     STDMETHOD(GetWindowPosition)(THIS_ long FAR* pLeft, long FAR* pTop, long FAR* pWidth, long FAR* pHeight) PURE;
  432.     STDMETHOD(GetMinIdealImageSize)(THIS_ long FAR* pWidth, long FAR* pHeight) PURE;
  433.     STDMETHOD(GetMaxIdealImageSize)(THIS_ long FAR* pWidth, long FAR* pHeight) PURE;
  434.     STDMETHOD(GetRestorePosition)(THIS_ long FAR* pLeft, long FAR* pTop, long FAR* pWidth, long FAR* pHeight) PURE;
  435.     STDMETHOD(HideCursor)(THIS_ long HideCursor) PURE;
  436.     STDMETHOD(IsCursorHidden)(THIS_ long FAR* CursorHidden) PURE;
  437. };
  438.  
  439. DEFINE_GUID(IID_IBasicVideo,0x56A868B5L,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
  440.  
  441. /* Definition of interface: IBasicVideo */
  442. #undef INTERFACE
  443. #define INTERFACE IBasicVideo
  444.  
  445. DECLARE_INTERFACE_(IBasicVideo, IDispatch)
  446. {
  447. BEGIN_INTERFACE
  448. #ifndef NO_BASEINTERFACE_FUNCS
  449.  
  450.     /* IUnknown methods */
  451.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  452.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  453.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  454.  
  455.     /* IDispatch methods */
  456.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  457.  
  458.     STDMETHOD(GetTypeInfo)(
  459.       THIS_
  460.       UINT itinfo,
  461.       LCID lcid,
  462.       ITypeInfo FAR* FAR* pptinfo) PURE;
  463.  
  464.     STDMETHOD(GetIDsOfNames)(
  465.       THIS_
  466.       REFIID riid,
  467.       OLECHAR FAR* FAR* rgszNames,
  468.       UINT cNames,
  469.       LCID lcid,
  470.       DISPID FAR* rgdispid) PURE;
  471.  
  472.     STDMETHOD(Invoke)(
  473.       THIS_
  474.       DISPID dispidMember,
  475.       REFIID riid,
  476.       LCID lcid,
  477.       WORD wFlags,
  478.       DISPPARAMS FAR* pdispparams,
  479.       VARIANT FAR* pvarResult,
  480.       EXCEPINFO FAR* pexcepinfo,
  481.       UINT FAR* puArgErr) PURE;
  482. #endif
  483.  
  484.     /* IBasicVideo methods */
  485.     STDMETHOD(get_AvgTimePerFrame)(THIS_ REFTIME FAR* pAvgTimePerFrame) PURE;
  486.     STDMETHOD(get_BitRate)(THIS_ long FAR* pBitRate) PURE;
  487.     STDMETHOD(get_BitErrorRate)(THIS_ long FAR* pBitErrorRate) PURE;
  488.     STDMETHOD(get_VideoWidth)(THIS_ long FAR* pVideoWidth) PURE;
  489.     STDMETHOD(get_VideoHeight)(THIS_ long FAR* pVideoHeight) PURE;
  490.     STDMETHOD(put_SourceLeft)(THIS_ long SourceLeft) PURE;
  491.     STDMETHOD(get_SourceLeft)(THIS_ long FAR* pSourceLeft) PURE;
  492.     STDMETHOD(put_SourceWidth)(THIS_ long SourceWidth) PURE;
  493.     STDMETHOD(get_SourceWidth)(THIS_ long FAR* pSourceWidth) PURE;
  494.     STDMETHOD(put_SourceTop)(THIS_ long SourceTop) PURE;
  495.     STDMETHOD(get_SourceTop)(THIS_ long FAR* pSourceTop) PURE;
  496.     STDMETHOD(put_SourceHeight)(THIS_ long SourceHeight) PURE;
  497.     STDMETHOD(get_SourceHeight)(THIS_ long FAR* pSourceHeight) PURE;
  498.     STDMETHOD(put_DestinationLeft)(THIS_ long DestinationLeft) PURE;
  499.     STDMETHOD(get_DestinationLeft)(THIS_ long FAR* pDestinationLeft) PURE;
  500.     STDMETHOD(put_DestinationWidth)(THIS_ long DestinationWidth) PURE;
  501.     STDMETHOD(get_DestinationWidth)(THIS_ long FAR* pDestinationWidth) PURE;
  502.     STDMETHOD(put_DestinationTop)(THIS_ long DestinationTop) PURE;
  503.     STDMETHOD(get_DestinationTop)(THIS_ long FAR* pDestinationTop) PURE;
  504.     STDMETHOD(put_DestinationHeight)(THIS_ long DestinationHeight) PURE;
  505.     STDMETHOD(get_DestinationHeight)(THIS_ long FAR* pDestinationHeight) PURE;
  506.     STDMETHOD(SetSourcePosition)(THIS_ long Left, long Top, long Width, long Height) PURE;
  507.     STDMETHOD(GetSourcePosition)(THIS_ long FAR* pLeft, long FAR* pTop, long FAR* pWidth, long FAR* pHeight) PURE;
  508.     STDMETHOD(SetDefaultSourcePosition)(THIS) PURE;
  509.     STDMETHOD(SetDestinationPosition)(THIS_ long Left, long Top, long Width, long Height) PURE;
  510.     STDMETHOD(GetDestinationPosition)(THIS_ long FAR* pLeft, long FAR* pTop, long FAR* pWidth, long FAR* pHeight) PURE;
  511.     STDMETHOD(SetDefaultDestinationPosition)(THIS) PURE;
  512.     STDMETHOD(GetVideoSize)(THIS_ long FAR* pWidth, long FAR* pHeight) PURE;
  513.     STDMETHOD(GetVideoPaletteEntries)(THIS_ long StartIndex, long Entries, long FAR* pRetrieved, long FAR* pPalette) PURE;
  514.     STDMETHOD(GetCurrentImage)(THIS_ long FAR* pBufferSize, long FAR* pDIBImage) PURE;
  515.     STDMETHOD(IsUsingDefaultSource)(THIS) PURE;
  516.     STDMETHOD(IsUsingDefaultDestination)(THIS) PURE;
  517. };
  518.  
  519. DEFINE_GUID(IID_IDeferredCommand,0x56A868B8L,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
  520.  
  521. /* Definition of interface: IDeferredCommand */
  522. #undef INTERFACE
  523. #define INTERFACE IDeferredCommand
  524.  
  525. DECLARE_INTERFACE_(IDeferredCommand, IUnknown)
  526. {
  527. BEGIN_INTERFACE
  528. #ifndef NO_BASEINTERFACE_FUNCS
  529.  
  530.     /* IUnknown methods */
  531.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  532.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  533.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  534. #endif
  535.  
  536.     /* IDeferredCommand methods */
  537.     STDMETHOD(Cancel)(THIS) PURE;
  538.     STDMETHOD(Confidence)(THIS_ long FAR* pConfidence) PURE;
  539.     STDMETHOD(Postpone)(THIS_ REFTIME newtime) PURE;
  540.     STDMETHOD(GetHResult)(THIS_ HRESULT FAR* phrResult) PURE;
  541. };
  542.  
  543. DEFINE_GUID(IID_IQueueCommand,0x56A868B7L,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
  544.  
  545. /* Definition of interface: IQueueCommand */
  546. #undef INTERFACE
  547. #define INTERFACE IQueueCommand
  548.  
  549. DECLARE_INTERFACE_(IQueueCommand, IUnknown)
  550. {
  551. BEGIN_INTERFACE
  552. #ifndef NO_BASEINTERFACE_FUNCS
  553.  
  554.     /* IUnknown methods */
  555.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  556.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  557.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  558. #endif
  559.  
  560.     /* IQueueCommand methods */
  561.     STDMETHOD(InvokeAtStreamTime)(THIS_ IDeferredCommand FAR* FAR* pCmd, REFTIME time, GUID FAR* iid, long dispidMethod, short wFlags, long cArgs, VARIANT FAR* pDispParams, VARIANT FAR* pvarResult, short FAR* puArgErr) PURE;
  562.     STDMETHOD(InvokeAtPresentationTime)(THIS_ IDeferredCommand FAR* FAR* pCmd, REFTIME time, GUID FAR* iid, long dispidMethod, short wFlags, long cArgs, VARIANT FAR* pDispParams, VARIANT FAR* pvarResult, short FAR* puArgErr) PURE;
  563. };
  564.  
  565. DEFINE_GUID(CLSID_FilgraphManager,0xE436EBB3L,0x524F,0x11CE,0x9F,0x53,0x00,0x20,0xAF,0x0B,0xA7,0x70);
  566.  
  567. #ifdef __cplusplus
  568. class FilgraphManager;
  569. #endif
  570.  
  571. DEFINE_GUID(IID_IFilterInfo,0x56A868BAL,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
  572.  
  573. /* Definition of interface: IFilterInfo */
  574. #undef INTERFACE
  575. #define INTERFACE IFilterInfo
  576.  
  577. DECLARE_INTERFACE_(IFilterInfo, IDispatch)
  578. {
  579. BEGIN_INTERFACE
  580. #ifndef NO_BASEINTERFACE_FUNCS
  581.  
  582.     /* IUnknown methods */
  583.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  584.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  585.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  586.  
  587.     /* IDispatch methods */
  588.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  589.  
  590.     STDMETHOD(GetTypeInfo)(
  591.       THIS_
  592.       UINT itinfo,
  593.       LCID lcid,
  594.       ITypeInfo FAR* FAR* pptinfo) PURE;
  595.  
  596.     STDMETHOD(GetIDsOfNames)(
  597.       THIS_
  598.       REFIID riid,
  599.       OLECHAR FAR* FAR* rgszNames,
  600.       UINT cNames,
  601.       LCID lcid,
  602.       DISPID FAR* rgdispid) PURE;
  603.  
  604.     STDMETHOD(Invoke)(
  605.       THIS_
  606.       DISPID dispidMember,
  607.       REFIID riid,
  608.       LCID lcid,
  609.       WORD wFlags,
  610.       DISPPARAMS FAR* pdispparams,
  611.       VARIANT FAR* pvarResult,
  612.       EXCEPINFO FAR* pexcepinfo,
  613.       UINT FAR* puArgErr) PURE;
  614. #endif
  615.  
  616.     /* IFilterInfo methods */
  617.     STDMETHOD(FindPin)(THIS_ BSTR strPinID, IDispatch * FAR* ppUnk) PURE;
  618.     STDMETHOD(get_Name)(THIS_ BSTR FAR* strName) PURE;
  619.     STDMETHOD(get_VendorInfo)(THIS_ BSTR FAR* strVendorInfo) PURE;
  620.     STDMETHOD(get_Filter)(THIS_ IUnknown * FAR* ppUnk) PURE;
  621.     STDMETHOD(get_Pins)(THIS_ IDispatch * FAR* ppUnk) PURE;
  622.     STDMETHOD(get_IsFileSource)(THIS_ long FAR* pbIsSource) PURE;
  623.     STDMETHOD(get_Filename)(THIS_ BSTR FAR* pstrFilename) PURE;
  624.     STDMETHOD(put_Filename)(THIS_ BSTR strFilename) PURE;
  625. };
  626.  
  627. DEFINE_GUID(IID_IRegFilterInfo,0x56A868BBL,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
  628.  
  629. /* Definition of interface: IRegFilterInfo */
  630. #undef INTERFACE
  631. #define INTERFACE IRegFilterInfo
  632.  
  633. DECLARE_INTERFACE_(IRegFilterInfo, IDispatch)
  634. {
  635. BEGIN_INTERFACE
  636. #ifndef NO_BASEINTERFACE_FUNCS
  637.  
  638.     /* IUnknown methods */
  639.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  640.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  641.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  642.  
  643.     /* IDispatch methods */
  644.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  645.  
  646.     STDMETHOD(GetTypeInfo)(
  647.       THIS_
  648.       UINT itinfo,
  649.       LCID lcid,
  650.       ITypeInfo FAR* FAR* pptinfo) PURE;
  651.  
  652.     STDMETHOD(GetIDsOfNames)(
  653.       THIS_
  654.       REFIID riid,
  655.       OLECHAR FAR* FAR* rgszNames,
  656.       UINT cNames,
  657.       LCID lcid,
  658.       DISPID FAR* rgdispid) PURE;
  659.  
  660.     STDMETHOD(Invoke)(
  661.       THIS_
  662.       DISPID dispidMember,
  663.       REFIID riid,
  664.       LCID lcid,
  665.       WORD wFlags,
  666.       DISPPARAMS FAR* pdispparams,
  667.       VARIANT FAR* pvarResult,
  668.       EXCEPINFO FAR* pexcepinfo,
  669.       UINT FAR* puArgErr) PURE;
  670. #endif
  671.  
  672.     /* IRegFilterInfo methods */
  673.     STDMETHOD(get_Name)(THIS_ BSTR FAR* strName) PURE;
  674.     STDMETHOD(Filter)(THIS_ IDispatch * FAR* ppUnk) PURE;
  675. };
  676.  
  677. DEFINE_GUID(IID_IMediaTypeInfo,0x56A868BCL,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
  678.  
  679. /* Definition of interface: IMediaTypeInfo */
  680. #undef INTERFACE
  681. #define INTERFACE IMediaTypeInfo
  682.  
  683. DECLARE_INTERFACE_(IMediaTypeInfo, IDispatch)
  684. {
  685. BEGIN_INTERFACE
  686. #ifndef NO_BASEINTERFACE_FUNCS
  687.  
  688.     /* IUnknown methods */
  689.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  690.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  691.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  692.  
  693.     /* IDispatch methods */
  694.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  695.  
  696.     STDMETHOD(GetTypeInfo)(
  697.       THIS_
  698.       UINT itinfo,
  699.       LCID lcid,
  700.       ITypeInfo FAR* FAR* pptinfo) PURE;
  701.  
  702.     STDMETHOD(GetIDsOfNames)(
  703.       THIS_
  704.       REFIID riid,
  705.       OLECHAR FAR* FAR* rgszNames,
  706.       UINT cNames,
  707.       LCID lcid,
  708.       DISPID FAR* rgdispid) PURE;
  709.  
  710.     STDMETHOD(Invoke)(
  711.       THIS_
  712.       DISPID dispidMember,
  713.       REFIID riid,
  714.       LCID lcid,
  715.       WORD wFlags,
  716.       DISPPARAMS FAR* pdispparams,
  717.       VARIANT FAR* pvarResult,
  718.       EXCEPINFO FAR* pexcepinfo,
  719.       UINT FAR* puArgErr) PURE;
  720. #endif
  721.  
  722.     /* IMediaTypeInfo methods */
  723.     STDMETHOD(get_Type)(THIS_ BSTR FAR* strType) PURE;
  724.     STDMETHOD(get_Subtype)(THIS_ BSTR FAR* strType) PURE;
  725. };
  726.  
  727. DEFINE_GUID(IID_IPinInfo,0x56A868BDL,0x0AD4,0x11CE,0xB0,0x3A,0x00,0x20,0xAF,0x0B,0xA7,0x70);
  728.  
  729. /* Definition of interface: IPinInfo */
  730. #undef INTERFACE
  731. #define INTERFACE IPinInfo
  732.  
  733. DECLARE_INTERFACE_(IPinInfo, IDispatch)
  734. {
  735. BEGIN_INTERFACE
  736. #ifndef NO_BASEINTERFACE_FUNCS
  737.  
  738.     /* IUnknown methods */
  739.     STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  740.     STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  741.     STDMETHOD_(ULONG, Release)(THIS) PURE;
  742.  
  743.     /* IDispatch methods */
  744.     STDMETHOD(GetTypeInfoCount)(THIS_ UINT FAR* pctinfo) PURE;
  745.  
  746.     STDMETHOD(GetTypeInfo)(
  747.       THIS_
  748.       UINT itinfo,
  749.       LCID lcid,
  750.       ITypeInfo FAR* FAR* pptinfo) PURE;
  751.  
  752.     STDMETHOD(GetIDsOfNames)(
  753.       THIS_
  754.       REFIID riid,
  755.       OLECHAR FAR* FAR* rgszNames,
  756.       UINT cNames,
  757.       LCID lcid,
  758.       DISPID FAR* rgdispid) PURE;
  759.  
  760.     STDMETHOD(Invoke)(
  761.       THIS_
  762.       DISPID dispidMember,
  763.       REFIID riid,
  764.       LCID lcid,
  765.       WORD wFlags,
  766.       DISPPARAMS FAR* pdispparams,
  767.       VARIANT FAR* pvarResult,
  768.       EXCEPINFO FAR* pexcepinfo,
  769.       UINT FAR* puArgErr) PURE;
  770. #endif
  771.  
  772.     /* IPinInfo methods */
  773.     STDMETHOD(get_Pin)(THIS_ IUnknown * FAR* ppUnk) PURE;
  774.     STDMETHOD(get_ConnectedTo)(THIS_ IDispatch * FAR* ppUnk) PURE;
  775.     STDMETHOD(get_ConnectionMediaType)(THIS_ IDispatch * FAR* ppUnk) PURE;
  776.     STDMETHOD(get_FilterInfo)(THIS_ IDispatch * FAR* ppUnk) PURE;
  777.     STDMETHOD(get_Name)(THIS_ BSTR FAR* ppUnk) PURE;
  778.     STDMETHOD(get_Direction)(THIS_ long FAR* ppDirection) PURE;
  779.     STDMETHOD(get_PinID)(THIS_ BSTR FAR* strPinID) PURE;
  780.     STDMETHOD(get_MediaTypes)(THIS_ IDispatch * FAR* ppUnk) PURE;
  781.     STDMETHOD(Connect)(THIS_ IUnknown * pPin) PURE;
  782.     STDMETHOD(ConnectDirect)(THIS_ IUnknown * pPin) PURE;
  783.     STDMETHOD(ConnectWithType)(THIS_ IUnknown * pPin, IDispatch * pMediaType) PURE;
  784.     STDMETHOD(Disconnect)(THIS) PURE;
  785.     STDMETHOD(Render)(THIS) PURE;
  786. };
  787.  
  788. #endif
  789.