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