dshowasf.h
上传用户:hylc_2004
上传日期:2014-01-23
资源大小:46800k
文件大小:23k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2.  /* File created by MIDL compiler version 6.00.0361 */
  3. /* Compiler settings for dshowasf.idl:
  4.     Oicf, W1, Zp8, env=Win32 (32b run)
  5.     protocol : dce , ms_ext, c_ext, robust
  6.     error checks: allocation ref bounds_check enum stub_data 
  7.     VC __declspec() decoration level: 
  8.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  9.          DECLSPEC_UUID(), MIDL_INTERFACE()
  10. */
  11. //@@MIDL_FILE_HEADING(  )
  12. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __dshowasf_h__
  27. #define __dshowasf_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */ 
  32. #ifndef __IAMWMBufferPass_FWD_DEFINED__
  33. #define __IAMWMBufferPass_FWD_DEFINED__
  34. typedef interface IAMWMBufferPass IAMWMBufferPass;
  35. #endif  /* __IAMWMBufferPass_FWD_DEFINED__ */
  36. #ifndef __IAMWMBufferPassCallback_FWD_DEFINED__
  37. #define __IAMWMBufferPassCallback_FWD_DEFINED__
  38. typedef interface IAMWMBufferPassCallback IAMWMBufferPassCallback;
  39. #endif  /* __IAMWMBufferPassCallback_FWD_DEFINED__ */
  40. #ifndef __IConfigAsfWriter_FWD_DEFINED__
  41. #define __IConfigAsfWriter_FWD_DEFINED__
  42. typedef interface IConfigAsfWriter IConfigAsfWriter;
  43. #endif  /* __IConfigAsfWriter_FWD_DEFINED__ */
  44. #ifndef __IConfigAsfWriter2_FWD_DEFINED__
  45. #define __IConfigAsfWriter2_FWD_DEFINED__
  46. typedef interface IConfigAsfWriter2 IConfigAsfWriter2;
  47. #endif  /* __IConfigAsfWriter2_FWD_DEFINED__ */
  48. /* header files for imported files */
  49. #include "unknwn.h"
  50. #include "objidl.h"
  51. #include "strmif.h"
  52. #include "wmsdkidl.h"
  53. #ifdef __cplusplus
  54. extern "C"{
  55. #endif 
  56. void * __RPC_USER MIDL_user_allocate(size_t);
  57. void __RPC_USER MIDL_user_free( void * ); 
  58. /* interface __MIDL_itf_dshowasf_0000 */
  59. /* [local] */ 
  60. //=========================================================================
  61. //
  62. // Microsoft Windows Media Technologies
  63. // Copyright (C) Microsoft Corporation.  All Rights Reserved.
  64. //
  65. //=========================================================================
  66. EXTERN_GUID( IID_IConfigAsfWriter2,0x7989ccaa, 0x53f0, 0x44f0, 0x88, 0x4a, 0xf3, 0xb0, 0x3f, 0x6a, 0xe0, 0x66 );
  67. EXTERN_GUID( IID_IConfigAsfWriter,0x45086030,0xF7E4,0x486a,0xB5,0x04,0x82,0x6B,0xB5,0x79,0x2A,0x3B );
  68. EXTERN_GUID( IID_IAMWMBufferPass,0x6dd816d7, 0xe740, 0x4123, 0x9e, 0x24, 0x24, 0x44, 0x41, 0x26, 0x44, 0xd8 );
  69. EXTERN_GUID( IID_IAMWMBufferPassCallback,0xb25b8372, 0xd2d2, 0x44b2, 0x86, 0x53, 0x1b, 0x8d, 0xae, 0x33, 0x24, 0x89 );
  70. #ifndef EC_PREPROCESS_COMPLETE
  71. #define EC_PREPROCESS_COMPLETE 0x56
  72. #endif
  73. extern RPC_IF_HANDLE __MIDL_itf_dshowasf_0000_v0_0_c_ifspec;
  74. extern RPC_IF_HANDLE __MIDL_itf_dshowasf_0000_v0_0_s_ifspec;
  75. #ifndef __IAMWMBufferPass_INTERFACE_DEFINED__
  76. #define __IAMWMBufferPass_INTERFACE_DEFINED__
  77. /* interface IAMWMBufferPass */
  78. /* [unique][uuid][object] */ 
  79. EXTERN_C const IID IID_IAMWMBufferPass;
  80. #if defined(__cplusplus) && !defined(CINTERFACE)
  81.     
  82.     MIDL_INTERFACE("6DD816D7-E740-4123-9E24-2444412644D8")
  83.     IAMWMBufferPass : public IUnknown
  84.     {
  85.     public:
  86.         virtual HRESULT STDMETHODCALLTYPE SetNotify( 
  87.             /* [in] */ IAMWMBufferPassCallback *pCallback) = 0;
  88.         
  89.     };
  90.     
  91. #else  /* C style interface */
  92.     typedef struct IAMWMBufferPassVtbl
  93.     {
  94.         BEGIN_INTERFACE
  95.         
  96.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  97.             IAMWMBufferPass * This,
  98.             /* [in] */ REFIID riid,
  99.             /* [iid_is][out] */ void **ppvObject);
  100.         
  101.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  102.             IAMWMBufferPass * This);
  103.         
  104.         ULONG ( STDMETHODCALLTYPE *Release )( 
  105.             IAMWMBufferPass * This);
  106.         
  107.         HRESULT ( STDMETHODCALLTYPE *SetNotify )( 
  108.             IAMWMBufferPass * This,
  109.             /* [in] */ IAMWMBufferPassCallback *pCallback);
  110.         
  111.         END_INTERFACE
  112.     } IAMWMBufferPassVtbl;
  113.     interface IAMWMBufferPass
  114.     {
  115.         CONST_VTBL struct IAMWMBufferPassVtbl *lpVtbl;
  116.     };
  117.     
  118. #ifdef COBJMACROS
  119. #define IAMWMBufferPass_QueryInterface(This,riid,ppvObject)
  120.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  121. #define IAMWMBufferPass_AddRef(This)
  122.     (This)->lpVtbl -> AddRef(This)
  123. #define IAMWMBufferPass_Release(This)
  124.     (This)->lpVtbl -> Release(This)
  125. #define IAMWMBufferPass_SetNotify(This,pCallback)
  126.     (This)->lpVtbl -> SetNotify(This,pCallback)
  127. #endif /* COBJMACROS */
  128. #endif  /* C style interface */
  129. HRESULT STDMETHODCALLTYPE IAMWMBufferPass_SetNotify_Proxy( 
  130.     IAMWMBufferPass * This,
  131.     /* [in] */ IAMWMBufferPassCallback *pCallback);
  132. void __RPC_STUB IAMWMBufferPass_SetNotify_Stub(
  133.     IRpcStubBuffer *This,
  134.     IRpcChannelBuffer *_pRpcChannelBuffer,
  135.     PRPC_MESSAGE _pRpcMessage,
  136.     DWORD *_pdwStubPhase);
  137. #endif  /* __IAMWMBufferPass_INTERFACE_DEFINED__ */
  138. #ifndef __IAMWMBufferPassCallback_INTERFACE_DEFINED__
  139. #define __IAMWMBufferPassCallback_INTERFACE_DEFINED__
  140. /* interface IAMWMBufferPassCallback */
  141. /* [unique][uuid][object] */ 
  142. EXTERN_C const IID IID_IAMWMBufferPassCallback;
  143. #if defined(__cplusplus) && !defined(CINTERFACE)
  144.     
  145.     MIDL_INTERFACE("B25B8372-D2D2-44b2-8653-1B8DAE332489")
  146.     IAMWMBufferPassCallback : public IUnknown
  147.     {
  148.     public:
  149.         virtual HRESULT STDMETHODCALLTYPE Notify( 
  150.             /* [in] */ INSSBuffer3 *pNSSBuffer3,
  151.             /* [in] */ IPin *pPin,
  152.             /* [in] */ REFERENCE_TIME *prtStart,
  153.             /* [in] */ REFERENCE_TIME *prtEnd) = 0;
  154.         
  155.     };
  156.     
  157. #else  /* C style interface */
  158.     typedef struct IAMWMBufferPassCallbackVtbl
  159.     {
  160.         BEGIN_INTERFACE
  161.         
  162.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  163.             IAMWMBufferPassCallback * This,
  164.             /* [in] */ REFIID riid,
  165.             /* [iid_is][out] */ void **ppvObject);
  166.         
  167.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  168.             IAMWMBufferPassCallback * This);
  169.         
  170.         ULONG ( STDMETHODCALLTYPE *Release )( 
  171.             IAMWMBufferPassCallback * This);
  172.         
  173.         HRESULT ( STDMETHODCALLTYPE *Notify )( 
  174.             IAMWMBufferPassCallback * This,
  175.             /* [in] */ INSSBuffer3 *pNSSBuffer3,
  176.             /* [in] */ IPin *pPin,
  177.             /* [in] */ REFERENCE_TIME *prtStart,
  178.             /* [in] */ REFERENCE_TIME *prtEnd);
  179.         
  180.         END_INTERFACE
  181.     } IAMWMBufferPassCallbackVtbl;
  182.     interface IAMWMBufferPassCallback
  183.     {
  184.         CONST_VTBL struct IAMWMBufferPassCallbackVtbl *lpVtbl;
  185.     };
  186.     
  187. #ifdef COBJMACROS
  188. #define IAMWMBufferPassCallback_QueryInterface(This,riid,ppvObject)
  189.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  190. #define IAMWMBufferPassCallback_AddRef(This)
  191.     (This)->lpVtbl -> AddRef(This)
  192. #define IAMWMBufferPassCallback_Release(This)
  193.     (This)->lpVtbl -> Release(This)
  194. #define IAMWMBufferPassCallback_Notify(This,pNSSBuffer3,pPin,prtStart,prtEnd)
  195.     (This)->lpVtbl -> Notify(This,pNSSBuffer3,pPin,prtStart,prtEnd)
  196. #endif /* COBJMACROS */
  197. #endif  /* C style interface */
  198. HRESULT STDMETHODCALLTYPE IAMWMBufferPassCallback_Notify_Proxy( 
  199.     IAMWMBufferPassCallback * This,
  200.     /* [in] */ INSSBuffer3 *pNSSBuffer3,
  201.     /* [in] */ IPin *pPin,
  202.     /* [in] */ REFERENCE_TIME *prtStart,
  203.     /* [in] */ REFERENCE_TIME *prtEnd);
  204. void __RPC_STUB IAMWMBufferPassCallback_Notify_Stub(
  205.     IRpcStubBuffer *This,
  206.     IRpcChannelBuffer *_pRpcChannelBuffer,
  207.     PRPC_MESSAGE _pRpcMessage,
  208.     DWORD *_pdwStubPhase);
  209. #endif  /* __IAMWMBufferPassCallback_INTERFACE_DEFINED__ */
  210. /* interface __MIDL_itf_dshowasf_0495 */
  211. /* [local] */ 
  212. enum _AM_ASFWRITERCONFIG_PARAM
  213.     { AM_CONFIGASFWRITER_PARAM_AUTOINDEX = 1,
  214. AM_CONFIGASFWRITER_PARAM_MULTIPASS = AM_CONFIGASFWRITER_PARAM_AUTOINDEX + 1,
  215. AM_CONFIGASFWRITER_PARAM_DONTCOMPRESS = AM_CONFIGASFWRITER_PARAM_MULTIPASS + 1
  216.     } ;
  217. extern RPC_IF_HANDLE __MIDL_itf_dshowasf_0495_v0_0_c_ifspec;
  218. extern RPC_IF_HANDLE __MIDL_itf_dshowasf_0495_v0_0_s_ifspec;
  219. #ifndef __IConfigAsfWriter_INTERFACE_DEFINED__
  220. #define __IConfigAsfWriter_INTERFACE_DEFINED__
  221. /* interface IConfigAsfWriter */
  222. /* [unique][uuid][object] */ 
  223. EXTERN_C const IID IID_IConfigAsfWriter;
  224. #if defined(__cplusplus) && !defined(CINTERFACE)
  225.     
  226.     MIDL_INTERFACE("45086030-F7E4-486a-B504-826BB5792A3B")
  227.     IConfigAsfWriter : public IUnknown
  228.     {
  229.     public:
  230.         virtual HRESULT STDMETHODCALLTYPE ConfigureFilterUsingProfileId( 
  231.             /* [in] */ DWORD dwProfileId) = 0;
  232.         
  233.         virtual HRESULT STDMETHODCALLTYPE GetCurrentProfileId( 
  234.             /* [out] */ DWORD *pdwProfileId) = 0;
  235.         
  236.         virtual HRESULT STDMETHODCALLTYPE ConfigureFilterUsingProfileGuid( 
  237.             /* [in] */ REFGUID guidProfile) = 0;
  238.         
  239.         virtual HRESULT STDMETHODCALLTYPE GetCurrentProfileGuid( 
  240.             /* [out] */ GUID *pProfileGuid) = 0;
  241.         
  242.         virtual HRESULT STDMETHODCALLTYPE ConfigureFilterUsingProfile( 
  243.             /* [in] */ IWMProfile *pProfile) = 0;
  244.         
  245.         virtual HRESULT STDMETHODCALLTYPE GetCurrentProfile( 
  246.             /* [out] */ IWMProfile **ppProfile) = 0;
  247.         
  248.         virtual HRESULT STDMETHODCALLTYPE SetIndexMode( 
  249.             /* [in] */ BOOL bIndexFile) = 0;
  250.         
  251.         virtual HRESULT STDMETHODCALLTYPE GetIndexMode( 
  252.             /* [out] */ BOOL *pbIndexFile) = 0;
  253.         
  254.     };
  255.     
  256. #else  /* C style interface */
  257.     typedef struct IConfigAsfWriterVtbl
  258.     {
  259.         BEGIN_INTERFACE
  260.         
  261.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  262.             IConfigAsfWriter * This,
  263.             /* [in] */ REFIID riid,
  264.             /* [iid_is][out] */ void **ppvObject);
  265.         
  266.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  267.             IConfigAsfWriter * This);
  268.         
  269.         ULONG ( STDMETHODCALLTYPE *Release )( 
  270.             IConfigAsfWriter * This);
  271.         
  272.         HRESULT ( STDMETHODCALLTYPE *ConfigureFilterUsingProfileId )( 
  273.             IConfigAsfWriter * This,
  274.             /* [in] */ DWORD dwProfileId);
  275.         
  276.         HRESULT ( STDMETHODCALLTYPE *GetCurrentProfileId )( 
  277.             IConfigAsfWriter * This,
  278.             /* [out] */ DWORD *pdwProfileId);
  279.         
  280.         HRESULT ( STDMETHODCALLTYPE *ConfigureFilterUsingProfileGuid )( 
  281.             IConfigAsfWriter * This,
  282.             /* [in] */ REFGUID guidProfile);
  283.         
  284.         HRESULT ( STDMETHODCALLTYPE *GetCurrentProfileGuid )( 
  285.             IConfigAsfWriter * This,
  286.             /* [out] */ GUID *pProfileGuid);
  287.         
  288.         HRESULT ( STDMETHODCALLTYPE *ConfigureFilterUsingProfile )( 
  289.             IConfigAsfWriter * This,
  290.             /* [in] */ IWMProfile *pProfile);
  291.         
  292.         HRESULT ( STDMETHODCALLTYPE *GetCurrentProfile )( 
  293.             IConfigAsfWriter * This,
  294.             /* [out] */ IWMProfile **ppProfile);
  295.         
  296.         HRESULT ( STDMETHODCALLTYPE *SetIndexMode )( 
  297.             IConfigAsfWriter * This,
  298.             /* [in] */ BOOL bIndexFile);
  299.         
  300.         HRESULT ( STDMETHODCALLTYPE *GetIndexMode )( 
  301.             IConfigAsfWriter * This,
  302.             /* [out] */ BOOL *pbIndexFile);
  303.         
  304.         END_INTERFACE
  305.     } IConfigAsfWriterVtbl;
  306.     interface IConfigAsfWriter
  307.     {
  308.         CONST_VTBL struct IConfigAsfWriterVtbl *lpVtbl;
  309.     };
  310.     
  311. #ifdef COBJMACROS
  312. #define IConfigAsfWriter_QueryInterface(This,riid,ppvObject)
  313.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  314. #define IConfigAsfWriter_AddRef(This)
  315.     (This)->lpVtbl -> AddRef(This)
  316. #define IConfigAsfWriter_Release(This)
  317.     (This)->lpVtbl -> Release(This)
  318. #define IConfigAsfWriter_ConfigureFilterUsingProfileId(This,dwProfileId)
  319.     (This)->lpVtbl -> ConfigureFilterUsingProfileId(This,dwProfileId)
  320. #define IConfigAsfWriter_GetCurrentProfileId(This,pdwProfileId)
  321.     (This)->lpVtbl -> GetCurrentProfileId(This,pdwProfileId)
  322. #define IConfigAsfWriter_ConfigureFilterUsingProfileGuid(This,guidProfile)
  323.     (This)->lpVtbl -> ConfigureFilterUsingProfileGuid(This,guidProfile)
  324. #define IConfigAsfWriter_GetCurrentProfileGuid(This,pProfileGuid)
  325.     (This)->lpVtbl -> GetCurrentProfileGuid(This,pProfileGuid)
  326. #define IConfigAsfWriter_ConfigureFilterUsingProfile(This,pProfile)
  327.     (This)->lpVtbl -> ConfigureFilterUsingProfile(This,pProfile)
  328. #define IConfigAsfWriter_GetCurrentProfile(This,ppProfile)
  329.     (This)->lpVtbl -> GetCurrentProfile(This,ppProfile)
  330. #define IConfigAsfWriter_SetIndexMode(This,bIndexFile)
  331.     (This)->lpVtbl -> SetIndexMode(This,bIndexFile)
  332. #define IConfigAsfWriter_GetIndexMode(This,pbIndexFile)
  333.     (This)->lpVtbl -> GetIndexMode(This,pbIndexFile)
  334. #endif /* COBJMACROS */
  335. #endif  /* C style interface */
  336. HRESULT STDMETHODCALLTYPE IConfigAsfWriter_ConfigureFilterUsingProfileId_Proxy( 
  337.     IConfigAsfWriter * This,
  338.     /* [in] */ DWORD dwProfileId);
  339. void __RPC_STUB IConfigAsfWriter_ConfigureFilterUsingProfileId_Stub(
  340.     IRpcStubBuffer *This,
  341.     IRpcChannelBuffer *_pRpcChannelBuffer,
  342.     PRPC_MESSAGE _pRpcMessage,
  343.     DWORD *_pdwStubPhase);
  344. HRESULT STDMETHODCALLTYPE IConfigAsfWriter_GetCurrentProfileId_Proxy( 
  345.     IConfigAsfWriter * This,
  346.     /* [out] */ DWORD *pdwProfileId);
  347. void __RPC_STUB IConfigAsfWriter_GetCurrentProfileId_Stub(
  348.     IRpcStubBuffer *This,
  349.     IRpcChannelBuffer *_pRpcChannelBuffer,
  350.     PRPC_MESSAGE _pRpcMessage,
  351.     DWORD *_pdwStubPhase);
  352. HRESULT STDMETHODCALLTYPE IConfigAsfWriter_ConfigureFilterUsingProfileGuid_Proxy( 
  353.     IConfigAsfWriter * This,
  354.     /* [in] */ REFGUID guidProfile);
  355. void __RPC_STUB IConfigAsfWriter_ConfigureFilterUsingProfileGuid_Stub(
  356.     IRpcStubBuffer *This,
  357.     IRpcChannelBuffer *_pRpcChannelBuffer,
  358.     PRPC_MESSAGE _pRpcMessage,
  359.     DWORD *_pdwStubPhase);
  360. HRESULT STDMETHODCALLTYPE IConfigAsfWriter_GetCurrentProfileGuid_Proxy( 
  361.     IConfigAsfWriter * This,
  362.     /* [out] */ GUID *pProfileGuid);
  363. void __RPC_STUB IConfigAsfWriter_GetCurrentProfileGuid_Stub(
  364.     IRpcStubBuffer *This,
  365.     IRpcChannelBuffer *_pRpcChannelBuffer,
  366.     PRPC_MESSAGE _pRpcMessage,
  367.     DWORD *_pdwStubPhase);
  368. HRESULT STDMETHODCALLTYPE IConfigAsfWriter_ConfigureFilterUsingProfile_Proxy( 
  369.     IConfigAsfWriter * This,
  370.     /* [in] */ IWMProfile *pProfile);
  371. void __RPC_STUB IConfigAsfWriter_ConfigureFilterUsingProfile_Stub(
  372.     IRpcStubBuffer *This,
  373.     IRpcChannelBuffer *_pRpcChannelBuffer,
  374.     PRPC_MESSAGE _pRpcMessage,
  375.     DWORD *_pdwStubPhase);
  376. HRESULT STDMETHODCALLTYPE IConfigAsfWriter_GetCurrentProfile_Proxy( 
  377.     IConfigAsfWriter * This,
  378.     /* [out] */ IWMProfile **ppProfile);
  379. void __RPC_STUB IConfigAsfWriter_GetCurrentProfile_Stub(
  380.     IRpcStubBuffer *This,
  381.     IRpcChannelBuffer *_pRpcChannelBuffer,
  382.     PRPC_MESSAGE _pRpcMessage,
  383.     DWORD *_pdwStubPhase);
  384. HRESULT STDMETHODCALLTYPE IConfigAsfWriter_SetIndexMode_Proxy( 
  385.     IConfigAsfWriter * This,
  386.     /* [in] */ BOOL bIndexFile);
  387. void __RPC_STUB IConfigAsfWriter_SetIndexMode_Stub(
  388.     IRpcStubBuffer *This,
  389.     IRpcChannelBuffer *_pRpcChannelBuffer,
  390.     PRPC_MESSAGE _pRpcMessage,
  391.     DWORD *_pdwStubPhase);
  392. HRESULT STDMETHODCALLTYPE IConfigAsfWriter_GetIndexMode_Proxy( 
  393.     IConfigAsfWriter * This,
  394.     /* [out] */ BOOL *pbIndexFile);
  395. void __RPC_STUB IConfigAsfWriter_GetIndexMode_Stub(
  396.     IRpcStubBuffer *This,
  397.     IRpcChannelBuffer *_pRpcChannelBuffer,
  398.     PRPC_MESSAGE _pRpcMessage,
  399.     DWORD *_pdwStubPhase);
  400. #endif  /* __IConfigAsfWriter_INTERFACE_DEFINED__ */
  401. #ifndef __IConfigAsfWriter2_INTERFACE_DEFINED__
  402. #define __IConfigAsfWriter2_INTERFACE_DEFINED__
  403. /* interface IConfigAsfWriter2 */
  404. /* [unique][uuid][object] */ 
  405. EXTERN_C const IID IID_IConfigAsfWriter2;
  406. #if defined(__cplusplus) && !defined(CINTERFACE)
  407.     
  408.     MIDL_INTERFACE("7989CCAA-53F0-44f0-884A-F3B03F6AE066")
  409.     IConfigAsfWriter2 : public IConfigAsfWriter
  410.     {
  411.     public:
  412.         virtual HRESULT STDMETHODCALLTYPE StreamNumFromPin( 
  413.             /* [in] */ IPin *pPin,
  414.             /* [out] */ WORD *pwStreamNum) = 0;
  415.         
  416.         virtual HRESULT STDMETHODCALLTYPE SetParam( 
  417.             /* [in] */ DWORD dwParam,
  418.             /* [in] */ DWORD dwParam1,
  419.             /* [in] */ DWORD dwParam2) = 0;
  420.         
  421.         virtual HRESULT STDMETHODCALLTYPE GetParam( 
  422.             /* [in] */ DWORD dwParam,
  423.             /* [out] */ DWORD *pdwParam1,
  424.             /* [out] */ DWORD *pdwParam2) = 0;
  425.         
  426.         virtual HRESULT STDMETHODCALLTYPE ResetMultiPassState( void) = 0;
  427.         
  428.     };
  429.     
  430. #else  /* C style interface */
  431.     typedef struct IConfigAsfWriter2Vtbl
  432.     {
  433.         BEGIN_INTERFACE
  434.         
  435.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  436.             IConfigAsfWriter2 * This,
  437.             /* [in] */ REFIID riid,
  438.             /* [iid_is][out] */ void **ppvObject);
  439.         
  440.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  441.             IConfigAsfWriter2 * This);
  442.         
  443.         ULONG ( STDMETHODCALLTYPE *Release )( 
  444.             IConfigAsfWriter2 * This);
  445.         
  446.         HRESULT ( STDMETHODCALLTYPE *ConfigureFilterUsingProfileId )( 
  447.             IConfigAsfWriter2 * This,
  448.             /* [in] */ DWORD dwProfileId);
  449.         
  450.         HRESULT ( STDMETHODCALLTYPE *GetCurrentProfileId )( 
  451.             IConfigAsfWriter2 * This,
  452.             /* [out] */ DWORD *pdwProfileId);
  453.         
  454.         HRESULT ( STDMETHODCALLTYPE *ConfigureFilterUsingProfileGuid )( 
  455.             IConfigAsfWriter2 * This,
  456.             /* [in] */ REFGUID guidProfile);
  457.         
  458.         HRESULT ( STDMETHODCALLTYPE *GetCurrentProfileGuid )( 
  459.             IConfigAsfWriter2 * This,
  460.             /* [out] */ GUID *pProfileGuid);
  461.         
  462.         HRESULT ( STDMETHODCALLTYPE *ConfigureFilterUsingProfile )( 
  463.             IConfigAsfWriter2 * This,
  464.             /* [in] */ IWMProfile *pProfile);
  465.         
  466.         HRESULT ( STDMETHODCALLTYPE *GetCurrentProfile )( 
  467.             IConfigAsfWriter2 * This,
  468.             /* [out] */ IWMProfile **ppProfile);
  469.         
  470.         HRESULT ( STDMETHODCALLTYPE *SetIndexMode )( 
  471.             IConfigAsfWriter2 * This,
  472.             /* [in] */ BOOL bIndexFile);
  473.         
  474.         HRESULT ( STDMETHODCALLTYPE *GetIndexMode )( 
  475.             IConfigAsfWriter2 * This,
  476.             /* [out] */ BOOL *pbIndexFile);
  477.         
  478.         HRESULT ( STDMETHODCALLTYPE *StreamNumFromPin )( 
  479.             IConfigAsfWriter2 * This,
  480.             /* [in] */ IPin *pPin,
  481.             /* [out] */ WORD *pwStreamNum);
  482.         
  483.         HRESULT ( STDMETHODCALLTYPE *SetParam )( 
  484.             IConfigAsfWriter2 * This,
  485.             /* [in] */ DWORD dwParam,
  486.             /* [in] */ DWORD dwParam1,
  487.             /* [in] */ DWORD dwParam2);
  488.         
  489.         HRESULT ( STDMETHODCALLTYPE *GetParam )( 
  490.             IConfigAsfWriter2 * This,
  491.             /* [in] */ DWORD dwParam,
  492.             /* [out] */ DWORD *pdwParam1,
  493.             /* [out] */ DWORD *pdwParam2);
  494.         
  495.         HRESULT ( STDMETHODCALLTYPE *ResetMultiPassState )( 
  496.             IConfigAsfWriter2 * This);
  497.         
  498.         END_INTERFACE
  499.     } IConfigAsfWriter2Vtbl;
  500.     interface IConfigAsfWriter2
  501.     {
  502.         CONST_VTBL struct IConfigAsfWriter2Vtbl *lpVtbl;
  503.     };
  504.     
  505. #ifdef COBJMACROS
  506. #define IConfigAsfWriter2_QueryInterface(This,riid,ppvObject)
  507.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  508. #define IConfigAsfWriter2_AddRef(This)
  509.     (This)->lpVtbl -> AddRef(This)
  510. #define IConfigAsfWriter2_Release(This)
  511.     (This)->lpVtbl -> Release(This)
  512. #define IConfigAsfWriter2_ConfigureFilterUsingProfileId(This,dwProfileId)
  513.     (This)->lpVtbl -> ConfigureFilterUsingProfileId(This,dwProfileId)
  514. #define IConfigAsfWriter2_GetCurrentProfileId(This,pdwProfileId)
  515.     (This)->lpVtbl -> GetCurrentProfileId(This,pdwProfileId)
  516. #define IConfigAsfWriter2_ConfigureFilterUsingProfileGuid(This,guidProfile)
  517.     (This)->lpVtbl -> ConfigureFilterUsingProfileGuid(This,guidProfile)
  518. #define IConfigAsfWriter2_GetCurrentProfileGuid(This,pProfileGuid)
  519.     (This)->lpVtbl -> GetCurrentProfileGuid(This,pProfileGuid)
  520. #define IConfigAsfWriter2_ConfigureFilterUsingProfile(This,pProfile)
  521.     (This)->lpVtbl -> ConfigureFilterUsingProfile(This,pProfile)
  522. #define IConfigAsfWriter2_GetCurrentProfile(This,ppProfile)
  523.     (This)->lpVtbl -> GetCurrentProfile(This,ppProfile)
  524. #define IConfigAsfWriter2_SetIndexMode(This,bIndexFile)
  525.     (This)->lpVtbl -> SetIndexMode(This,bIndexFile)
  526. #define IConfigAsfWriter2_GetIndexMode(This,pbIndexFile)
  527.     (This)->lpVtbl -> GetIndexMode(This,pbIndexFile)
  528. #define IConfigAsfWriter2_StreamNumFromPin(This,pPin,pwStreamNum)
  529.     (This)->lpVtbl -> StreamNumFromPin(This,pPin,pwStreamNum)
  530. #define IConfigAsfWriter2_SetParam(This,dwParam,dwParam1,dwParam2)
  531.     (This)->lpVtbl -> SetParam(This,dwParam,dwParam1,dwParam2)
  532. #define IConfigAsfWriter2_GetParam(This,dwParam,pdwParam1,pdwParam2)
  533.     (This)->lpVtbl -> GetParam(This,dwParam,pdwParam1,pdwParam2)
  534. #define IConfigAsfWriter2_ResetMultiPassState(This)
  535.     (This)->lpVtbl -> ResetMultiPassState(This)
  536. #endif /* COBJMACROS */
  537. #endif  /* C style interface */
  538. HRESULT STDMETHODCALLTYPE IConfigAsfWriter2_StreamNumFromPin_Proxy( 
  539.     IConfigAsfWriter2 * This,
  540.     /* [in] */ IPin *pPin,
  541.     /* [out] */ WORD *pwStreamNum);
  542. void __RPC_STUB IConfigAsfWriter2_StreamNumFromPin_Stub(
  543.     IRpcStubBuffer *This,
  544.     IRpcChannelBuffer *_pRpcChannelBuffer,
  545.     PRPC_MESSAGE _pRpcMessage,
  546.     DWORD *_pdwStubPhase);
  547. HRESULT STDMETHODCALLTYPE IConfigAsfWriter2_SetParam_Proxy( 
  548.     IConfigAsfWriter2 * This,
  549.     /* [in] */ DWORD dwParam,
  550.     /* [in] */ DWORD dwParam1,
  551.     /* [in] */ DWORD dwParam2);
  552. void __RPC_STUB IConfigAsfWriter2_SetParam_Stub(
  553.     IRpcStubBuffer *This,
  554.     IRpcChannelBuffer *_pRpcChannelBuffer,
  555.     PRPC_MESSAGE _pRpcMessage,
  556.     DWORD *_pdwStubPhase);
  557. HRESULT STDMETHODCALLTYPE IConfigAsfWriter2_GetParam_Proxy( 
  558.     IConfigAsfWriter2 * This,
  559.     /* [in] */ DWORD dwParam,
  560.     /* [out] */ DWORD *pdwParam1,
  561.     /* [out] */ DWORD *pdwParam2);
  562. void __RPC_STUB IConfigAsfWriter2_GetParam_Stub(
  563.     IRpcStubBuffer *This,
  564.     IRpcChannelBuffer *_pRpcChannelBuffer,
  565.     PRPC_MESSAGE _pRpcMessage,
  566.     DWORD *_pdwStubPhase);
  567. HRESULT STDMETHODCALLTYPE IConfigAsfWriter2_ResetMultiPassState_Proxy( 
  568.     IConfigAsfWriter2 * This);
  569. void __RPC_STUB IConfigAsfWriter2_ResetMultiPassState_Stub(
  570.     IRpcStubBuffer *This,
  571.     IRpcChannelBuffer *_pRpcChannelBuffer,
  572.     PRPC_MESSAGE _pRpcMessage,
  573.     DWORD *_pdwStubPhase);
  574. #endif  /* __IConfigAsfWriter2_INTERFACE_DEFINED__ */
  575. /* Additional Prototypes for ALL interfaces */
  576. /* end of Additional Prototypes */
  577. #ifdef __cplusplus
  578. }
  579. #endif
  580. #endif