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