strmif.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:843k
源码类别:

模拟服务器

开发平台:

C/C++

  1.             /* [in] */ REFIID riid,
  2.             /* [iid_is][out] */ void **ppvObject);
  3.         
  4.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  5.             IFilterGraph2 * This);
  6.         
  7.         ULONG ( STDMETHODCALLTYPE *Release )( 
  8.             IFilterGraph2 * This);
  9.         
  10.         HRESULT ( STDMETHODCALLTYPE *AddFilter )( 
  11.             IFilterGraph2 * This,
  12.             /* [in] */ IBaseFilter *pFilter,
  13.             /* [string][in] */ LPCWSTR pName);
  14.         
  15.         HRESULT ( STDMETHODCALLTYPE *RemoveFilter )( 
  16.             IFilterGraph2 * This,
  17.             /* [in] */ IBaseFilter *pFilter);
  18.         
  19.         HRESULT ( STDMETHODCALLTYPE *EnumFilters )( 
  20.             IFilterGraph2 * This,
  21.             /* [out] */ IEnumFilters **ppEnum);
  22.         
  23.         HRESULT ( STDMETHODCALLTYPE *FindFilterByName )( 
  24.             IFilterGraph2 * This,
  25.             /* [string][in] */ LPCWSTR pName,
  26.             /* [out] */ IBaseFilter **ppFilter);
  27.         
  28.         HRESULT ( STDMETHODCALLTYPE *ConnectDirect )( 
  29.             IFilterGraph2 * This,
  30.             /* [in] */ IPin *ppinOut,
  31.             /* [in] */ IPin *ppinIn,
  32.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  33.         
  34.         HRESULT ( STDMETHODCALLTYPE *Reconnect )( 
  35.             IFilterGraph2 * This,
  36.             /* [in] */ IPin *ppin);
  37.         
  38.         HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
  39.             IFilterGraph2 * This,
  40.             /* [in] */ IPin *ppin);
  41.         
  42.         HRESULT ( STDMETHODCALLTYPE *SetDefaultSyncSource )( 
  43.             IFilterGraph2 * This);
  44.         
  45.         HRESULT ( STDMETHODCALLTYPE *Connect )( 
  46.             IFilterGraph2 * This,
  47.             /* [in] */ IPin *ppinOut,
  48.             /* [in] */ IPin *ppinIn);
  49.         
  50.         HRESULT ( STDMETHODCALLTYPE *Render )( 
  51.             IFilterGraph2 * This,
  52.             /* [in] */ IPin *ppinOut);
  53.         
  54.         HRESULT ( STDMETHODCALLTYPE *RenderFile )( 
  55.             IFilterGraph2 * This,
  56.             /* [in] */ LPCWSTR lpcwstrFile,
  57.             /* [unique][in] */ LPCWSTR lpcwstrPlayList);
  58.         
  59.         HRESULT ( STDMETHODCALLTYPE *AddSourceFilter )( 
  60.             IFilterGraph2 * This,
  61.             /* [in] */ LPCWSTR lpcwstrFileName,
  62.             /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  63.             /* [out] */ IBaseFilter **ppFilter);
  64.         
  65.         HRESULT ( STDMETHODCALLTYPE *SetLogFile )( 
  66.             IFilterGraph2 * This,
  67.             /* [in] */ DWORD_PTR hFile);
  68.         
  69.         HRESULT ( STDMETHODCALLTYPE *Abort )( 
  70.             IFilterGraph2 * This);
  71.         
  72.         HRESULT ( STDMETHODCALLTYPE *ShouldOperationContinue )( 
  73.             IFilterGraph2 * This);
  74.         
  75.         HRESULT ( STDMETHODCALLTYPE *AddSourceFilterForMoniker )( 
  76.             IFilterGraph2 * This,
  77.             /* [in] */ IMoniker *pMoniker,
  78.             /* [in] */ IBindCtx *pCtx,
  79.             /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  80.             /* [out] */ IBaseFilter **ppFilter);
  81.         
  82.         HRESULT ( STDMETHODCALLTYPE *ReconnectEx )( 
  83.             IFilterGraph2 * This,
  84.             /* [in] */ IPin *ppin,
  85.             /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  86.         
  87.         HRESULT ( STDMETHODCALLTYPE *RenderEx )( 
  88.             IFilterGraph2 * This,
  89.             /* [in] */ IPin *pPinOut,
  90.             /* [in] */ DWORD dwFlags,
  91.             /* [out][in] */ DWORD *pvContext);
  92.         
  93.         END_INTERFACE
  94.     } IFilterGraph2Vtbl;
  95.     interface IFilterGraph2
  96.     {
  97.         CONST_VTBL struct IFilterGraph2Vtbl *lpVtbl;
  98.     };
  99.     
  100. #ifdef COBJMACROS
  101. #define IFilterGraph2_QueryInterface(This,riid,ppvObject)
  102.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  103. #define IFilterGraph2_AddRef(This)
  104.     (This)->lpVtbl -> AddRef(This)
  105. #define IFilterGraph2_Release(This)
  106.     (This)->lpVtbl -> Release(This)
  107. #define IFilterGraph2_AddFilter(This,pFilter,pName)
  108.     (This)->lpVtbl -> AddFilter(This,pFilter,pName)
  109. #define IFilterGraph2_RemoveFilter(This,pFilter)
  110.     (This)->lpVtbl -> RemoveFilter(This,pFilter)
  111. #define IFilterGraph2_EnumFilters(This,ppEnum)
  112.     (This)->lpVtbl -> EnumFilters(This,ppEnum)
  113. #define IFilterGraph2_FindFilterByName(This,pName,ppFilter)
  114.     (This)->lpVtbl -> FindFilterByName(This,pName,ppFilter)
  115. #define IFilterGraph2_ConnectDirect(This,ppinOut,ppinIn,pmt)
  116.     (This)->lpVtbl -> ConnectDirect(This,ppinOut,ppinIn,pmt)
  117. #define IFilterGraph2_Reconnect(This,ppin)
  118.     (This)->lpVtbl -> Reconnect(This,ppin)
  119. #define IFilterGraph2_Disconnect(This,ppin)
  120.     (This)->lpVtbl -> Disconnect(This,ppin)
  121. #define IFilterGraph2_SetDefaultSyncSource(This)
  122.     (This)->lpVtbl -> SetDefaultSyncSource(This)
  123. #define IFilterGraph2_Connect(This,ppinOut,ppinIn)
  124.     (This)->lpVtbl -> Connect(This,ppinOut,ppinIn)
  125. #define IFilterGraph2_Render(This,ppinOut)
  126.     (This)->lpVtbl -> Render(This,ppinOut)
  127. #define IFilterGraph2_RenderFile(This,lpcwstrFile,lpcwstrPlayList)
  128.     (This)->lpVtbl -> RenderFile(This,lpcwstrFile,lpcwstrPlayList)
  129. #define IFilterGraph2_AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)
  130.     (This)->lpVtbl -> AddSourceFilter(This,lpcwstrFileName,lpcwstrFilterName,ppFilter)
  131. #define IFilterGraph2_SetLogFile(This,hFile)
  132.     (This)->lpVtbl -> SetLogFile(This,hFile)
  133. #define IFilterGraph2_Abort(This)
  134.     (This)->lpVtbl -> Abort(This)
  135. #define IFilterGraph2_ShouldOperationContinue(This)
  136.     (This)->lpVtbl -> ShouldOperationContinue(This)
  137. #define IFilterGraph2_AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter)
  138.     (This)->lpVtbl -> AddSourceFilterForMoniker(This,pMoniker,pCtx,lpcwstrFilterName,ppFilter)
  139. #define IFilterGraph2_ReconnectEx(This,ppin,pmt)
  140.     (This)->lpVtbl -> ReconnectEx(This,ppin,pmt)
  141. #define IFilterGraph2_RenderEx(This,pPinOut,dwFlags,pvContext)
  142.     (This)->lpVtbl -> RenderEx(This,pPinOut,dwFlags,pvContext)
  143. #endif /* COBJMACROS */
  144. #endif  /* C style interface */
  145. HRESULT STDMETHODCALLTYPE IFilterGraph2_AddSourceFilterForMoniker_Proxy( 
  146.     IFilterGraph2 * This,
  147.     /* [in] */ IMoniker *pMoniker,
  148.     /* [in] */ IBindCtx *pCtx,
  149.     /* [unique][in] */ LPCWSTR lpcwstrFilterName,
  150.     /* [out] */ IBaseFilter **ppFilter);
  151. void __RPC_STUB IFilterGraph2_AddSourceFilterForMoniker_Stub(
  152.     IRpcStubBuffer *This,
  153.     IRpcChannelBuffer *_pRpcChannelBuffer,
  154.     PRPC_MESSAGE _pRpcMessage,
  155.     DWORD *_pdwStubPhase);
  156. HRESULT STDMETHODCALLTYPE IFilterGraph2_ReconnectEx_Proxy( 
  157.     IFilterGraph2 * This,
  158.     /* [in] */ IPin *ppin,
  159.     /* [unique][in] */ const AM_MEDIA_TYPE *pmt);
  160. void __RPC_STUB IFilterGraph2_ReconnectEx_Stub(
  161.     IRpcStubBuffer *This,
  162.     IRpcChannelBuffer *_pRpcChannelBuffer,
  163.     PRPC_MESSAGE _pRpcMessage,
  164.     DWORD *_pdwStubPhase);
  165. HRESULT STDMETHODCALLTYPE IFilterGraph2_RenderEx_Proxy( 
  166.     IFilterGraph2 * This,
  167.     /* [in] */ IPin *pPinOut,
  168.     /* [in] */ DWORD dwFlags,
  169.     /* [out][in] */ DWORD *pvContext);
  170. void __RPC_STUB IFilterGraph2_RenderEx_Stub(
  171.     IRpcStubBuffer *This,
  172.     IRpcChannelBuffer *_pRpcChannelBuffer,
  173.     PRPC_MESSAGE _pRpcMessage,
  174.     DWORD *_pdwStubPhase);
  175. #endif  /* __IFilterGraph2_INTERFACE_DEFINED__ */
  176. #ifndef __IStreamBuilder_INTERFACE_DEFINED__
  177. #define __IStreamBuilder_INTERFACE_DEFINED__
  178. /* interface IStreamBuilder */
  179. /* [unique][uuid][local][object] */ 
  180. EXTERN_C const IID IID_IStreamBuilder;
  181. #if defined(__cplusplus) && !defined(CINTERFACE)
  182.     
  183.     MIDL_INTERFACE("56a868bf-0ad4-11ce-b03a-0020af0ba770")
  184.     IStreamBuilder : public IUnknown
  185.     {
  186.     public:
  187.         virtual HRESULT STDMETHODCALLTYPE Render( 
  188.             /* [in] */ IPin *ppinOut,
  189.             /* [in] */ IGraphBuilder *pGraph) = 0;
  190.         
  191.         virtual HRESULT STDMETHODCALLTYPE Backout( 
  192.             /* [in] */ IPin *ppinOut,
  193.             /* [in] */ IGraphBuilder *pGraph) = 0;
  194.         
  195.     };
  196.     
  197. #else  /* C style interface */
  198.     typedef struct IStreamBuilderVtbl
  199.     {
  200.         BEGIN_INTERFACE
  201.         
  202.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  203.             IStreamBuilder * This,
  204.             /* [in] */ REFIID riid,
  205.             /* [iid_is][out] */ void **ppvObject);
  206.         
  207.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  208.             IStreamBuilder * This);
  209.         
  210.         ULONG ( STDMETHODCALLTYPE *Release )( 
  211.             IStreamBuilder * This);
  212.         
  213.         HRESULT ( STDMETHODCALLTYPE *Render )( 
  214.             IStreamBuilder * This,
  215.             /* [in] */ IPin *ppinOut,
  216.             /* [in] */ IGraphBuilder *pGraph);
  217.         
  218.         HRESULT ( STDMETHODCALLTYPE *Backout )( 
  219.             IStreamBuilder * This,
  220.             /* [in] */ IPin *ppinOut,
  221.             /* [in] */ IGraphBuilder *pGraph);
  222.         
  223.         END_INTERFACE
  224.     } IStreamBuilderVtbl;
  225.     interface IStreamBuilder
  226.     {
  227.         CONST_VTBL struct IStreamBuilderVtbl *lpVtbl;
  228.     };
  229.     
  230. #ifdef COBJMACROS
  231. #define IStreamBuilder_QueryInterface(This,riid,ppvObject)
  232.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  233. #define IStreamBuilder_AddRef(This)
  234.     (This)->lpVtbl -> AddRef(This)
  235. #define IStreamBuilder_Release(This)
  236.     (This)->lpVtbl -> Release(This)
  237. #define IStreamBuilder_Render(This,ppinOut,pGraph)
  238.     (This)->lpVtbl -> Render(This,ppinOut,pGraph)
  239. #define IStreamBuilder_Backout(This,ppinOut,pGraph)
  240.     (This)->lpVtbl -> Backout(This,ppinOut,pGraph)
  241. #endif /* COBJMACROS */
  242. #endif  /* C style interface */
  243. HRESULT STDMETHODCALLTYPE IStreamBuilder_Render_Proxy( 
  244.     IStreamBuilder * This,
  245.     /* [in] */ IPin *ppinOut,
  246.     /* [in] */ IGraphBuilder *pGraph);
  247. void __RPC_STUB IStreamBuilder_Render_Stub(
  248.     IRpcStubBuffer *This,
  249.     IRpcChannelBuffer *_pRpcChannelBuffer,
  250.     PRPC_MESSAGE _pRpcMessage,
  251.     DWORD *_pdwStubPhase);
  252. HRESULT STDMETHODCALLTYPE IStreamBuilder_Backout_Proxy( 
  253.     IStreamBuilder * This,
  254.     /* [in] */ IPin *ppinOut,
  255.     /* [in] */ IGraphBuilder *pGraph);
  256. void __RPC_STUB IStreamBuilder_Backout_Stub(
  257.     IRpcStubBuffer *This,
  258.     IRpcChannelBuffer *_pRpcChannelBuffer,
  259.     PRPC_MESSAGE _pRpcMessage,
  260.     DWORD *_pdwStubPhase);
  261. #endif  /* __IStreamBuilder_INTERFACE_DEFINED__ */
  262. #ifndef __IAsyncReader_INTERFACE_DEFINED__
  263. #define __IAsyncReader_INTERFACE_DEFINED__
  264. /* interface IAsyncReader */
  265. /* [unique][uuid][object] */ 
  266. EXTERN_C const IID IID_IAsyncReader;
  267. #if defined(__cplusplus) && !defined(CINTERFACE)
  268.     
  269.     MIDL_INTERFACE("56a868aa-0ad4-11ce-b03a-0020af0ba770")
  270.     IAsyncReader : public IUnknown
  271.     {
  272.     public:
  273.         virtual HRESULT STDMETHODCALLTYPE RequestAllocator( 
  274.             /* [in] */ IMemAllocator *pPreferred,
  275.             /* [in] */ ALLOCATOR_PROPERTIES *pProps,
  276.             /* [out] */ IMemAllocator **ppActual) = 0;
  277.         
  278.         virtual HRESULT STDMETHODCALLTYPE Request( 
  279.             /* [in] */ IMediaSample *pSample,
  280.             /* [in] */ DWORD_PTR dwUser) = 0;
  281.         
  282.         virtual HRESULT STDMETHODCALLTYPE WaitForNext( 
  283.             /* [in] */ DWORD dwTimeout,
  284.             /* [out] */ IMediaSample **ppSample,
  285.             /* [out] */ DWORD_PTR *pdwUser) = 0;
  286.         
  287.         virtual HRESULT STDMETHODCALLTYPE SyncReadAligned( 
  288.             /* [in] */ IMediaSample *pSample) = 0;
  289.         
  290.         virtual HRESULT STDMETHODCALLTYPE SyncRead( 
  291.             /* [in] */ LONGLONG llPosition,
  292.             /* [in] */ LONG lLength,
  293.             /* [size_is][out] */ BYTE *pBuffer) = 0;
  294.         
  295.         virtual HRESULT STDMETHODCALLTYPE Length( 
  296.             /* [out] */ LONGLONG *pTotal,
  297.             /* [out] */ LONGLONG *pAvailable) = 0;
  298.         
  299.         virtual HRESULT STDMETHODCALLTYPE BeginFlush( void) = 0;
  300.         
  301.         virtual HRESULT STDMETHODCALLTYPE EndFlush( void) = 0;
  302.         
  303.     };
  304.     
  305. #else  /* C style interface */
  306.     typedef struct IAsyncReaderVtbl
  307.     {
  308.         BEGIN_INTERFACE
  309.         
  310.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  311.             IAsyncReader * This,
  312.             /* [in] */ REFIID riid,
  313.             /* [iid_is][out] */ void **ppvObject);
  314.         
  315.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  316.             IAsyncReader * This);
  317.         
  318.         ULONG ( STDMETHODCALLTYPE *Release )( 
  319.             IAsyncReader * This);
  320.         
  321.         HRESULT ( STDMETHODCALLTYPE *RequestAllocator )( 
  322.             IAsyncReader * This,
  323.             /* [in] */ IMemAllocator *pPreferred,
  324.             /* [in] */ ALLOCATOR_PROPERTIES *pProps,
  325.             /* [out] */ IMemAllocator **ppActual);
  326.         
  327.         HRESULT ( STDMETHODCALLTYPE *Request )( 
  328.             IAsyncReader * This,
  329.             /* [in] */ IMediaSample *pSample,
  330.             /* [in] */ DWORD_PTR dwUser);
  331.         
  332.         HRESULT ( STDMETHODCALLTYPE *WaitForNext )( 
  333.             IAsyncReader * This,
  334.             /* [in] */ DWORD dwTimeout,
  335.             /* [out] */ IMediaSample **ppSample,
  336.             /* [out] */ DWORD_PTR *pdwUser);
  337.         
  338.         HRESULT ( STDMETHODCALLTYPE *SyncReadAligned )( 
  339.             IAsyncReader * This,
  340.             /* [in] */ IMediaSample *pSample);
  341.         
  342.         HRESULT ( STDMETHODCALLTYPE *SyncRead )( 
  343.             IAsyncReader * This,
  344.             /* [in] */ LONGLONG llPosition,
  345.             /* [in] */ LONG lLength,
  346.             /* [size_is][out] */ BYTE *pBuffer);
  347.         
  348.         HRESULT ( STDMETHODCALLTYPE *Length )( 
  349.             IAsyncReader * This,
  350.             /* [out] */ LONGLONG *pTotal,
  351.             /* [out] */ LONGLONG *pAvailable);
  352.         
  353.         HRESULT ( STDMETHODCALLTYPE *BeginFlush )( 
  354.             IAsyncReader * This);
  355.         
  356.         HRESULT ( STDMETHODCALLTYPE *EndFlush )( 
  357.             IAsyncReader * This);
  358.         
  359.         END_INTERFACE
  360.     } IAsyncReaderVtbl;
  361.     interface IAsyncReader
  362.     {
  363.         CONST_VTBL struct IAsyncReaderVtbl *lpVtbl;
  364.     };
  365.     
  366. #ifdef COBJMACROS
  367. #define IAsyncReader_QueryInterface(This,riid,ppvObject)
  368.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  369. #define IAsyncReader_AddRef(This)
  370.     (This)->lpVtbl -> AddRef(This)
  371. #define IAsyncReader_Release(This)
  372.     (This)->lpVtbl -> Release(This)
  373. #define IAsyncReader_RequestAllocator(This,pPreferred,pProps,ppActual)
  374.     (This)->lpVtbl -> RequestAllocator(This,pPreferred,pProps,ppActual)
  375. #define IAsyncReader_Request(This,pSample,dwUser)
  376.     (This)->lpVtbl -> Request(This,pSample,dwUser)
  377. #define IAsyncReader_WaitForNext(This,dwTimeout,ppSample,pdwUser)
  378.     (This)->lpVtbl -> WaitForNext(This,dwTimeout,ppSample,pdwUser)
  379. #define IAsyncReader_SyncReadAligned(This,pSample)
  380.     (This)->lpVtbl -> SyncReadAligned(This,pSample)
  381. #define IAsyncReader_SyncRead(This,llPosition,lLength,pBuffer)
  382.     (This)->lpVtbl -> SyncRead(This,llPosition,lLength,pBuffer)
  383. #define IAsyncReader_Length(This,pTotal,pAvailable)
  384.     (This)->lpVtbl -> Length(This,pTotal,pAvailable)
  385. #define IAsyncReader_BeginFlush(This)
  386.     (This)->lpVtbl -> BeginFlush(This)
  387. #define IAsyncReader_EndFlush(This)
  388.     (This)->lpVtbl -> EndFlush(This)
  389. #endif /* COBJMACROS */
  390. #endif  /* C style interface */
  391. HRESULT STDMETHODCALLTYPE IAsyncReader_RequestAllocator_Proxy( 
  392.     IAsyncReader * This,
  393.     /* [in] */ IMemAllocator *pPreferred,
  394.     /* [in] */ ALLOCATOR_PROPERTIES *pProps,
  395.     /* [out] */ IMemAllocator **ppActual);
  396. void __RPC_STUB IAsyncReader_RequestAllocator_Stub(
  397.     IRpcStubBuffer *This,
  398.     IRpcChannelBuffer *_pRpcChannelBuffer,
  399.     PRPC_MESSAGE _pRpcMessage,
  400.     DWORD *_pdwStubPhase);
  401. HRESULT STDMETHODCALLTYPE IAsyncReader_Request_Proxy( 
  402.     IAsyncReader * This,
  403.     /* [in] */ IMediaSample *pSample,
  404.     /* [in] */ DWORD_PTR dwUser);
  405. void __RPC_STUB IAsyncReader_Request_Stub(
  406.     IRpcStubBuffer *This,
  407.     IRpcChannelBuffer *_pRpcChannelBuffer,
  408.     PRPC_MESSAGE _pRpcMessage,
  409.     DWORD *_pdwStubPhase);
  410. HRESULT STDMETHODCALLTYPE IAsyncReader_WaitForNext_Proxy( 
  411.     IAsyncReader * This,
  412.     /* [in] */ DWORD dwTimeout,
  413.     /* [out] */ IMediaSample **ppSample,
  414.     /* [out] */ DWORD_PTR *pdwUser);
  415. void __RPC_STUB IAsyncReader_WaitForNext_Stub(
  416.     IRpcStubBuffer *This,
  417.     IRpcChannelBuffer *_pRpcChannelBuffer,
  418.     PRPC_MESSAGE _pRpcMessage,
  419.     DWORD *_pdwStubPhase);
  420. HRESULT STDMETHODCALLTYPE IAsyncReader_SyncReadAligned_Proxy( 
  421.     IAsyncReader * This,
  422.     /* [in] */ IMediaSample *pSample);
  423. void __RPC_STUB IAsyncReader_SyncReadAligned_Stub(
  424.     IRpcStubBuffer *This,
  425.     IRpcChannelBuffer *_pRpcChannelBuffer,
  426.     PRPC_MESSAGE _pRpcMessage,
  427.     DWORD *_pdwStubPhase);
  428. HRESULT STDMETHODCALLTYPE IAsyncReader_SyncRead_Proxy( 
  429.     IAsyncReader * This,
  430.     /* [in] */ LONGLONG llPosition,
  431.     /* [in] */ LONG lLength,
  432.     /* [size_is][out] */ BYTE *pBuffer);
  433. void __RPC_STUB IAsyncReader_SyncRead_Stub(
  434.     IRpcStubBuffer *This,
  435.     IRpcChannelBuffer *_pRpcChannelBuffer,
  436.     PRPC_MESSAGE _pRpcMessage,
  437.     DWORD *_pdwStubPhase);
  438. HRESULT STDMETHODCALLTYPE IAsyncReader_Length_Proxy( 
  439.     IAsyncReader * This,
  440.     /* [out] */ LONGLONG *pTotal,
  441.     /* [out] */ LONGLONG *pAvailable);
  442. void __RPC_STUB IAsyncReader_Length_Stub(
  443.     IRpcStubBuffer *This,
  444.     IRpcChannelBuffer *_pRpcChannelBuffer,
  445.     PRPC_MESSAGE _pRpcMessage,
  446.     DWORD *_pdwStubPhase);
  447. HRESULT STDMETHODCALLTYPE IAsyncReader_BeginFlush_Proxy( 
  448.     IAsyncReader * This);
  449. void __RPC_STUB IAsyncReader_BeginFlush_Stub(
  450.     IRpcStubBuffer *This,
  451.     IRpcChannelBuffer *_pRpcChannelBuffer,
  452.     PRPC_MESSAGE _pRpcMessage,
  453.     DWORD *_pdwStubPhase);
  454. HRESULT STDMETHODCALLTYPE IAsyncReader_EndFlush_Proxy( 
  455.     IAsyncReader * This);
  456. void __RPC_STUB IAsyncReader_EndFlush_Stub(
  457.     IRpcStubBuffer *This,
  458.     IRpcChannelBuffer *_pRpcChannelBuffer,
  459.     PRPC_MESSAGE _pRpcMessage,
  460.     DWORD *_pdwStubPhase);
  461. #endif  /* __IAsyncReader_INTERFACE_DEFINED__ */
  462. #ifndef __IGraphVersion_INTERFACE_DEFINED__
  463. #define __IGraphVersion_INTERFACE_DEFINED__
  464. /* interface IGraphVersion */
  465. /* [unique][uuid][object] */ 
  466. EXTERN_C const IID IID_IGraphVersion;
  467. #if defined(__cplusplus) && !defined(CINTERFACE)
  468.     
  469.     MIDL_INTERFACE("56a868ab-0ad4-11ce-b03a-0020af0ba770")
  470.     IGraphVersion : public IUnknown
  471.     {
  472.     public:
  473.         virtual HRESULT STDMETHODCALLTYPE QueryVersion( 
  474.             LONG *pVersion) = 0;
  475.         
  476.     };
  477.     
  478. #else  /* C style interface */
  479.     typedef struct IGraphVersionVtbl
  480.     {
  481.         BEGIN_INTERFACE
  482.         
  483.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  484.             IGraphVersion * This,
  485.             /* [in] */ REFIID riid,
  486.             /* [iid_is][out] */ void **ppvObject);
  487.         
  488.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  489.             IGraphVersion * This);
  490.         
  491.         ULONG ( STDMETHODCALLTYPE *Release )( 
  492.             IGraphVersion * This);
  493.         
  494.         HRESULT ( STDMETHODCALLTYPE *QueryVersion )( 
  495.             IGraphVersion * This,
  496.             LONG *pVersion);
  497.         
  498.         END_INTERFACE
  499.     } IGraphVersionVtbl;
  500.     interface IGraphVersion
  501.     {
  502.         CONST_VTBL struct IGraphVersionVtbl *lpVtbl;
  503.     };
  504.     
  505. #ifdef COBJMACROS
  506. #define IGraphVersion_QueryInterface(This,riid,ppvObject)
  507.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  508. #define IGraphVersion_AddRef(This)
  509.     (This)->lpVtbl -> AddRef(This)
  510. #define IGraphVersion_Release(This)
  511.     (This)->lpVtbl -> Release(This)
  512. #define IGraphVersion_QueryVersion(This,pVersion)
  513.     (This)->lpVtbl -> QueryVersion(This,pVersion)
  514. #endif /* COBJMACROS */
  515. #endif  /* C style interface */
  516. HRESULT STDMETHODCALLTYPE IGraphVersion_QueryVersion_Proxy( 
  517.     IGraphVersion * This,
  518.     LONG *pVersion);
  519. void __RPC_STUB IGraphVersion_QueryVersion_Stub(
  520.     IRpcStubBuffer *This,
  521.     IRpcChannelBuffer *_pRpcChannelBuffer,
  522.     PRPC_MESSAGE _pRpcMessage,
  523.     DWORD *_pdwStubPhase);
  524. #endif  /* __IGraphVersion_INTERFACE_DEFINED__ */
  525. #ifndef __IResourceConsumer_INTERFACE_DEFINED__
  526. #define __IResourceConsumer_INTERFACE_DEFINED__
  527. /* interface IResourceConsumer */
  528. /* [unique][uuid][object] */ 
  529. EXTERN_C const IID IID_IResourceConsumer;
  530. #if defined(__cplusplus) && !defined(CINTERFACE)
  531.     
  532.     MIDL_INTERFACE("56a868ad-0ad4-11ce-b03a-0020af0ba770")
  533.     IResourceConsumer : public IUnknown
  534.     {
  535.     public:
  536.         virtual HRESULT STDMETHODCALLTYPE AcquireResource( 
  537.             /* [in] */ LONG idResource) = 0;
  538.         
  539.         virtual HRESULT STDMETHODCALLTYPE ReleaseResource( 
  540.             /* [in] */ LONG idResource) = 0;
  541.         
  542.     };
  543.     
  544. #else  /* C style interface */
  545.     typedef struct IResourceConsumerVtbl
  546.     {
  547.         BEGIN_INTERFACE
  548.         
  549.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  550.             IResourceConsumer * This,
  551.             /* [in] */ REFIID riid,
  552.             /* [iid_is][out] */ void **ppvObject);
  553.         
  554.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  555.             IResourceConsumer * This);
  556.         
  557.         ULONG ( STDMETHODCALLTYPE *Release )( 
  558.             IResourceConsumer * This);
  559.         
  560.         HRESULT ( STDMETHODCALLTYPE *AcquireResource )( 
  561.             IResourceConsumer * This,
  562.             /* [in] */ LONG idResource);
  563.         
  564.         HRESULT ( STDMETHODCALLTYPE *ReleaseResource )( 
  565.             IResourceConsumer * This,
  566.             /* [in] */ LONG idResource);
  567.         
  568.         END_INTERFACE
  569.     } IResourceConsumerVtbl;
  570.     interface IResourceConsumer
  571.     {
  572.         CONST_VTBL struct IResourceConsumerVtbl *lpVtbl;
  573.     };
  574.     
  575. #ifdef COBJMACROS
  576. #define IResourceConsumer_QueryInterface(This,riid,ppvObject)
  577.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  578. #define IResourceConsumer_AddRef(This)
  579.     (This)->lpVtbl -> AddRef(This)
  580. #define IResourceConsumer_Release(This)
  581.     (This)->lpVtbl -> Release(This)
  582. #define IResourceConsumer_AcquireResource(This,idResource)
  583.     (This)->lpVtbl -> AcquireResource(This,idResource)
  584. #define IResourceConsumer_ReleaseResource(This,idResource)
  585.     (This)->lpVtbl -> ReleaseResource(This,idResource)
  586. #endif /* COBJMACROS */
  587. #endif  /* C style interface */
  588. HRESULT STDMETHODCALLTYPE IResourceConsumer_AcquireResource_Proxy( 
  589.     IResourceConsumer * This,
  590.     /* [in] */ LONG idResource);
  591. void __RPC_STUB IResourceConsumer_AcquireResource_Stub(
  592.     IRpcStubBuffer *This,
  593.     IRpcChannelBuffer *_pRpcChannelBuffer,
  594.     PRPC_MESSAGE _pRpcMessage,
  595.     DWORD *_pdwStubPhase);
  596. HRESULT STDMETHODCALLTYPE IResourceConsumer_ReleaseResource_Proxy( 
  597.     IResourceConsumer * This,
  598.     /* [in] */ LONG idResource);
  599. void __RPC_STUB IResourceConsumer_ReleaseResource_Stub(
  600.     IRpcStubBuffer *This,
  601.     IRpcChannelBuffer *_pRpcChannelBuffer,
  602.     PRPC_MESSAGE _pRpcMessage,
  603.     DWORD *_pdwStubPhase);
  604. #endif  /* __IResourceConsumer_INTERFACE_DEFINED__ */
  605. #ifndef __IResourceManager_INTERFACE_DEFINED__
  606. #define __IResourceManager_INTERFACE_DEFINED__
  607. /* interface IResourceManager */
  608. /* [unique][uuid][object] */ 
  609. EXTERN_C const IID IID_IResourceManager;
  610. #if defined(__cplusplus) && !defined(CINTERFACE)
  611.     
  612.     MIDL_INTERFACE("56a868ac-0ad4-11ce-b03a-0020af0ba770")
  613.     IResourceManager : public IUnknown
  614.     {
  615.     public:
  616.         virtual HRESULT STDMETHODCALLTYPE Register( 
  617.             /* [in] */ LPCWSTR pName,
  618.             /* [in] */ LONG cResource,
  619.             /* [out] */ LONG *plToken) = 0;
  620.         
  621.         virtual HRESULT STDMETHODCALLTYPE RegisterGroup( 
  622.             /* [in] */ LPCWSTR pName,
  623.             /* [in] */ LONG cResource,
  624.             /* [size_is][in] */ LONG *palTokens,
  625.             /* [out] */ LONG *plToken) = 0;
  626.         
  627.         virtual HRESULT STDMETHODCALLTYPE RequestResource( 
  628.             /* [in] */ LONG idResource,
  629.             /* [in] */ IUnknown *pFocusObject,
  630.             /* [in] */ IResourceConsumer *pConsumer) = 0;
  631.         
  632.         virtual HRESULT STDMETHODCALLTYPE NotifyAcquire( 
  633.             /* [in] */ LONG idResource,
  634.             /* [in] */ IResourceConsumer *pConsumer,
  635.             /* [in] */ HRESULT hr) = 0;
  636.         
  637.         virtual HRESULT STDMETHODCALLTYPE NotifyRelease( 
  638.             /* [in] */ LONG idResource,
  639.             /* [in] */ IResourceConsumer *pConsumer,
  640.             /* [in] */ BOOL bStillWant) = 0;
  641.         
  642.         virtual HRESULT STDMETHODCALLTYPE CancelRequest( 
  643.             /* [in] */ LONG idResource,
  644.             /* [in] */ IResourceConsumer *pConsumer) = 0;
  645.         
  646.         virtual HRESULT STDMETHODCALLTYPE SetFocus( 
  647.             /* [in] */ IUnknown *pFocusObject) = 0;
  648.         
  649.         virtual HRESULT STDMETHODCALLTYPE ReleaseFocus( 
  650.             /* [in] */ IUnknown *pFocusObject) = 0;
  651.         
  652.     };
  653.     
  654. #else  /* C style interface */
  655.     typedef struct IResourceManagerVtbl
  656.     {
  657.         BEGIN_INTERFACE
  658.         
  659.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  660.             IResourceManager * This,
  661.             /* [in] */ REFIID riid,
  662.             /* [iid_is][out] */ void **ppvObject);
  663.         
  664.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  665.             IResourceManager * This);
  666.         
  667.         ULONG ( STDMETHODCALLTYPE *Release )( 
  668.             IResourceManager * This);
  669.         
  670.         HRESULT ( STDMETHODCALLTYPE *Register )( 
  671.             IResourceManager * This,
  672.             /* [in] */ LPCWSTR pName,
  673.             /* [in] */ LONG cResource,
  674.             /* [out] */ LONG *plToken);
  675.         
  676.         HRESULT ( STDMETHODCALLTYPE *RegisterGroup )( 
  677.             IResourceManager * This,
  678.             /* [in] */ LPCWSTR pName,
  679.             /* [in] */ LONG cResource,
  680.             /* [size_is][in] */ LONG *palTokens,
  681.             /* [out] */ LONG *plToken);
  682.         
  683.         HRESULT ( STDMETHODCALLTYPE *RequestResource )( 
  684.             IResourceManager * This,
  685.             /* [in] */ LONG idResource,
  686.             /* [in] */ IUnknown *pFocusObject,
  687.             /* [in] */ IResourceConsumer *pConsumer);
  688.         
  689.         HRESULT ( STDMETHODCALLTYPE *NotifyAcquire )( 
  690.             IResourceManager * This,
  691.             /* [in] */ LONG idResource,
  692.             /* [in] */ IResourceConsumer *pConsumer,
  693.             /* [in] */ HRESULT hr);
  694.         
  695.         HRESULT ( STDMETHODCALLTYPE *NotifyRelease )( 
  696.             IResourceManager * This,
  697.             /* [in] */ LONG idResource,
  698.             /* [in] */ IResourceConsumer *pConsumer,
  699.             /* [in] */ BOOL bStillWant);
  700.         
  701.         HRESULT ( STDMETHODCALLTYPE *CancelRequest )( 
  702.             IResourceManager * This,
  703.             /* [in] */ LONG idResource,
  704.             /* [in] */ IResourceConsumer *pConsumer);
  705.         
  706.         HRESULT ( STDMETHODCALLTYPE *SetFocus )( 
  707.             IResourceManager * This,
  708.             /* [in] */ IUnknown *pFocusObject);
  709.         
  710.         HRESULT ( STDMETHODCALLTYPE *ReleaseFocus )( 
  711.             IResourceManager * This,
  712.             /* [in] */ IUnknown *pFocusObject);
  713.         
  714.         END_INTERFACE
  715.     } IResourceManagerVtbl;
  716.     interface IResourceManager
  717.     {
  718.         CONST_VTBL struct IResourceManagerVtbl *lpVtbl;
  719.     };
  720.     
  721. #ifdef COBJMACROS
  722. #define IResourceManager_QueryInterface(This,riid,ppvObject)
  723.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  724. #define IResourceManager_AddRef(This)
  725.     (This)->lpVtbl -> AddRef(This)
  726. #define IResourceManager_Release(This)
  727.     (This)->lpVtbl -> Release(This)
  728. #define IResourceManager_Register(This,pName,cResource,plToken)
  729.     (This)->lpVtbl -> Register(This,pName,cResource,plToken)
  730. #define IResourceManager_RegisterGroup(This,pName,cResource,palTokens,plToken)
  731.     (This)->lpVtbl -> RegisterGroup(This,pName,cResource,palTokens,plToken)
  732. #define IResourceManager_RequestResource(This,idResource,pFocusObject,pConsumer)
  733.     (This)->lpVtbl -> RequestResource(This,idResource,pFocusObject,pConsumer)
  734. #define IResourceManager_NotifyAcquire(This,idResource,pConsumer,hr)
  735.     (This)->lpVtbl -> NotifyAcquire(This,idResource,pConsumer,hr)
  736. #define IResourceManager_NotifyRelease(This,idResource,pConsumer,bStillWant)
  737.     (This)->lpVtbl -> NotifyRelease(This,idResource,pConsumer,bStillWant)
  738. #define IResourceManager_CancelRequest(This,idResource,pConsumer)
  739.     (This)->lpVtbl -> CancelRequest(This,idResource,pConsumer)
  740. #define IResourceManager_SetFocus(This,pFocusObject)
  741.     (This)->lpVtbl -> SetFocus(This,pFocusObject)
  742. #define IResourceManager_ReleaseFocus(This,pFocusObject)
  743.     (This)->lpVtbl -> ReleaseFocus(This,pFocusObject)
  744. #endif /* COBJMACROS */
  745. #endif  /* C style interface */
  746. HRESULT STDMETHODCALLTYPE IResourceManager_Register_Proxy( 
  747.     IResourceManager * This,
  748.     /* [in] */ LPCWSTR pName,
  749.     /* [in] */ LONG cResource,
  750.     /* [out] */ LONG *plToken);
  751. void __RPC_STUB IResourceManager_Register_Stub(
  752.     IRpcStubBuffer *This,
  753.     IRpcChannelBuffer *_pRpcChannelBuffer,
  754.     PRPC_MESSAGE _pRpcMessage,
  755.     DWORD *_pdwStubPhase);
  756. HRESULT STDMETHODCALLTYPE IResourceManager_RegisterGroup_Proxy( 
  757.     IResourceManager * This,
  758.     /* [in] */ LPCWSTR pName,
  759.     /* [in] */ LONG cResource,
  760.     /* [size_is][in] */ LONG *palTokens,
  761.     /* [out] */ LONG *plToken);
  762. void __RPC_STUB IResourceManager_RegisterGroup_Stub(
  763.     IRpcStubBuffer *This,
  764.     IRpcChannelBuffer *_pRpcChannelBuffer,
  765.     PRPC_MESSAGE _pRpcMessage,
  766.     DWORD *_pdwStubPhase);
  767. HRESULT STDMETHODCALLTYPE IResourceManager_RequestResource_Proxy( 
  768.     IResourceManager * This,
  769.     /* [in] */ LONG idResource,
  770.     /* [in] */ IUnknown *pFocusObject,
  771.     /* [in] */ IResourceConsumer *pConsumer);
  772. void __RPC_STUB IResourceManager_RequestResource_Stub(
  773.     IRpcStubBuffer *This,
  774.     IRpcChannelBuffer *_pRpcChannelBuffer,
  775.     PRPC_MESSAGE _pRpcMessage,
  776.     DWORD *_pdwStubPhase);
  777. HRESULT STDMETHODCALLTYPE IResourceManager_NotifyAcquire_Proxy( 
  778.     IResourceManager * This,
  779.     /* [in] */ LONG idResource,
  780.     /* [in] */ IResourceConsumer *pConsumer,
  781.     /* [in] */ HRESULT hr);
  782. void __RPC_STUB IResourceManager_NotifyAcquire_Stub(
  783.     IRpcStubBuffer *This,
  784.     IRpcChannelBuffer *_pRpcChannelBuffer,
  785.     PRPC_MESSAGE _pRpcMessage,
  786.     DWORD *_pdwStubPhase);
  787. HRESULT STDMETHODCALLTYPE IResourceManager_NotifyRelease_Proxy( 
  788.     IResourceManager * This,
  789.     /* [in] */ LONG idResource,
  790.     /* [in] */ IResourceConsumer *pConsumer,
  791.     /* [in] */ BOOL bStillWant);
  792. void __RPC_STUB IResourceManager_NotifyRelease_Stub(
  793.     IRpcStubBuffer *This,
  794.     IRpcChannelBuffer *_pRpcChannelBuffer,
  795.     PRPC_MESSAGE _pRpcMessage,
  796.     DWORD *_pdwStubPhase);
  797. HRESULT STDMETHODCALLTYPE IResourceManager_CancelRequest_Proxy( 
  798.     IResourceManager * This,
  799.     /* [in] */ LONG idResource,
  800.     /* [in] */ IResourceConsumer *pConsumer);
  801. void __RPC_STUB IResourceManager_CancelRequest_Stub(
  802.     IRpcStubBuffer *This,
  803.     IRpcChannelBuffer *_pRpcChannelBuffer,
  804.     PRPC_MESSAGE _pRpcMessage,
  805.     DWORD *_pdwStubPhase);
  806. HRESULT STDMETHODCALLTYPE IResourceManager_SetFocus_Proxy( 
  807.     IResourceManager * This,
  808.     /* [in] */ IUnknown *pFocusObject);
  809. void __RPC_STUB IResourceManager_SetFocus_Stub(
  810.     IRpcStubBuffer *This,
  811.     IRpcChannelBuffer *_pRpcChannelBuffer,
  812.     PRPC_MESSAGE _pRpcMessage,
  813.     DWORD *_pdwStubPhase);
  814. HRESULT STDMETHODCALLTYPE IResourceManager_ReleaseFocus_Proxy( 
  815.     IResourceManager * This,
  816.     /* [in] */ IUnknown *pFocusObject);
  817. void __RPC_STUB IResourceManager_ReleaseFocus_Stub(
  818.     IRpcStubBuffer *This,
  819.     IRpcChannelBuffer *_pRpcChannelBuffer,
  820.     PRPC_MESSAGE _pRpcMessage,
  821.     DWORD *_pdwStubPhase);
  822. #endif  /* __IResourceManager_INTERFACE_DEFINED__ */
  823. #ifndef __IDistributorNotify_INTERFACE_DEFINED__
  824. #define __IDistributorNotify_INTERFACE_DEFINED__
  825. /* interface IDistributorNotify */
  826. /* [unique][uuid][object] */ 
  827. EXTERN_C const IID IID_IDistributorNotify;
  828. #if defined(__cplusplus) && !defined(CINTERFACE)
  829.     
  830.     MIDL_INTERFACE("56a868af-0ad4-11ce-b03a-0020af0ba770")
  831.     IDistributorNotify : public IUnknown
  832.     {
  833.     public:
  834.         virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  835.         
  836.         virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  837.         
  838.         virtual HRESULT STDMETHODCALLTYPE Run( 
  839.             REFERENCE_TIME tStart) = 0;
  840.         
  841.         virtual HRESULT STDMETHODCALLTYPE SetSyncSource( 
  842.             /* [in] */ IReferenceClock *pClock) = 0;
  843.         
  844.         virtual HRESULT STDMETHODCALLTYPE NotifyGraphChange( void) = 0;
  845.         
  846.     };
  847.     
  848. #else  /* C style interface */
  849.     typedef struct IDistributorNotifyVtbl
  850.     {
  851.         BEGIN_INTERFACE
  852.         
  853.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  854.             IDistributorNotify * This,
  855.             /* [in] */ REFIID riid,
  856.             /* [iid_is][out] */ void **ppvObject);
  857.         
  858.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  859.             IDistributorNotify * This);
  860.         
  861.         ULONG ( STDMETHODCALLTYPE *Release )( 
  862.             IDistributorNotify * This);
  863.         
  864.         HRESULT ( STDMETHODCALLTYPE *Stop )( 
  865.             IDistributorNotify * This);
  866.         
  867.         HRESULT ( STDMETHODCALLTYPE *Pause )( 
  868.             IDistributorNotify * This);
  869.         
  870.         HRESULT ( STDMETHODCALLTYPE *Run )( 
  871.             IDistributorNotify * This,
  872.             REFERENCE_TIME tStart);
  873.         
  874.         HRESULT ( STDMETHODCALLTYPE *SetSyncSource )( 
  875.             IDistributorNotify * This,
  876.             /* [in] */ IReferenceClock *pClock);
  877.         
  878.         HRESULT ( STDMETHODCALLTYPE *NotifyGraphChange )( 
  879.             IDistributorNotify * This);
  880.         
  881.         END_INTERFACE
  882.     } IDistributorNotifyVtbl;
  883.     interface IDistributorNotify
  884.     {
  885.         CONST_VTBL struct IDistributorNotifyVtbl *lpVtbl;
  886.     };
  887.     
  888. #ifdef COBJMACROS
  889. #define IDistributorNotify_QueryInterface(This,riid,ppvObject)
  890.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  891. #define IDistributorNotify_AddRef(This)
  892.     (This)->lpVtbl -> AddRef(This)
  893. #define IDistributorNotify_Release(This)
  894.     (This)->lpVtbl -> Release(This)
  895. #define IDistributorNotify_Stop(This)
  896.     (This)->lpVtbl -> Stop(This)
  897. #define IDistributorNotify_Pause(This)
  898.     (This)->lpVtbl -> Pause(This)
  899. #define IDistributorNotify_Run(This,tStart)
  900.     (This)->lpVtbl -> Run(This,tStart)
  901. #define IDistributorNotify_SetSyncSource(This,pClock)
  902.     (This)->lpVtbl -> SetSyncSource(This,pClock)
  903. #define IDistributorNotify_NotifyGraphChange(This)
  904.     (This)->lpVtbl -> NotifyGraphChange(This)
  905. #endif /* COBJMACROS */
  906. #endif  /* C style interface */
  907. HRESULT STDMETHODCALLTYPE IDistributorNotify_Stop_Proxy( 
  908.     IDistributorNotify * This);
  909. void __RPC_STUB IDistributorNotify_Stop_Stub(
  910.     IRpcStubBuffer *This,
  911.     IRpcChannelBuffer *_pRpcChannelBuffer,
  912.     PRPC_MESSAGE _pRpcMessage,
  913.     DWORD *_pdwStubPhase);
  914. HRESULT STDMETHODCALLTYPE IDistributorNotify_Pause_Proxy( 
  915.     IDistributorNotify * This);
  916. void __RPC_STUB IDistributorNotify_Pause_Stub(
  917.     IRpcStubBuffer *This,
  918.     IRpcChannelBuffer *_pRpcChannelBuffer,
  919.     PRPC_MESSAGE _pRpcMessage,
  920.     DWORD *_pdwStubPhase);
  921. HRESULT STDMETHODCALLTYPE IDistributorNotify_Run_Proxy( 
  922.     IDistributorNotify * This,
  923.     REFERENCE_TIME tStart);
  924. void __RPC_STUB IDistributorNotify_Run_Stub(
  925.     IRpcStubBuffer *This,
  926.     IRpcChannelBuffer *_pRpcChannelBuffer,
  927.     PRPC_MESSAGE _pRpcMessage,
  928.     DWORD *_pdwStubPhase);
  929. HRESULT STDMETHODCALLTYPE IDistributorNotify_SetSyncSource_Proxy( 
  930.     IDistributorNotify * This,
  931.     /* [in] */ IReferenceClock *pClock);
  932. void __RPC_STUB IDistributorNotify_SetSyncSource_Stub(
  933.     IRpcStubBuffer *This,
  934.     IRpcChannelBuffer *_pRpcChannelBuffer,
  935.     PRPC_MESSAGE _pRpcMessage,
  936.     DWORD *_pdwStubPhase);
  937. HRESULT STDMETHODCALLTYPE IDistributorNotify_NotifyGraphChange_Proxy( 
  938.     IDistributorNotify * This);
  939. void __RPC_STUB IDistributorNotify_NotifyGraphChange_Stub(
  940.     IRpcStubBuffer *This,
  941.     IRpcChannelBuffer *_pRpcChannelBuffer,
  942.     PRPC_MESSAGE _pRpcMessage,
  943.     DWORD *_pdwStubPhase);
  944. #endif  /* __IDistributorNotify_INTERFACE_DEFINED__ */
  945. /* interface __MIDL_itf_strmif_0154 */
  946. /* [local] */ 
  947. typedef /* [public] */ 
  948. enum __MIDL___MIDL_itf_strmif_0154_0001
  949.     { AM_STREAM_INFO_START_DEFINED = 0x1,
  950. AM_STREAM_INFO_STOP_DEFINED = 0x2,
  951. AM_STREAM_INFO_DISCARDING = 0x4,
  952. AM_STREAM_INFO_STOP_SEND_EXTRA = 0x10
  953.     }  AM_STREAM_INFO_FLAGS;
  954. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0154_0002
  955.     {
  956.     REFERENCE_TIME tStart;
  957.     REFERENCE_TIME tStop;
  958.     DWORD dwStartCookie;
  959.     DWORD dwStopCookie;
  960.     DWORD dwFlags;
  961.     }  AM_STREAM_INFO;
  962. extern RPC_IF_HANDLE __MIDL_itf_strmif_0154_v0_0_c_ifspec;
  963. extern RPC_IF_HANDLE __MIDL_itf_strmif_0154_v0_0_s_ifspec;
  964. #ifndef __IAMStreamControl_INTERFACE_DEFINED__
  965. #define __IAMStreamControl_INTERFACE_DEFINED__
  966. /* interface IAMStreamControl */
  967. /* [unique][uuid][object] */ 
  968. EXTERN_C const IID IID_IAMStreamControl;
  969. #if defined(__cplusplus) && !defined(CINTERFACE)
  970.     
  971.     MIDL_INTERFACE("36b73881-c2c8-11cf-8b46-00805f6cef60")
  972.     IAMStreamControl : public IUnknown
  973.     {
  974.     public:
  975.         virtual HRESULT STDMETHODCALLTYPE StartAt( 
  976.             /* [in] */ const REFERENCE_TIME *ptStart,
  977.             /* [in] */ DWORD dwCookie) = 0;
  978.         
  979.         virtual HRESULT STDMETHODCALLTYPE StopAt( 
  980.             /* [in] */ const REFERENCE_TIME *ptStop,
  981.             /* [in] */ BOOL bSendExtra,
  982.             /* [in] */ DWORD dwCookie) = 0;
  983.         
  984.         virtual HRESULT STDMETHODCALLTYPE GetInfo( 
  985.             /* [out] */ AM_STREAM_INFO *pInfo) = 0;
  986.         
  987.     };
  988.     
  989. #else  /* C style interface */
  990.     typedef struct IAMStreamControlVtbl
  991.     {
  992.         BEGIN_INTERFACE
  993.         
  994.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  995.             IAMStreamControl * This,
  996.             /* [in] */ REFIID riid,
  997.             /* [iid_is][out] */ void **ppvObject);
  998.         
  999.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1000.             IAMStreamControl * This);
  1001.         
  1002.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1003.             IAMStreamControl * This);
  1004.         
  1005.         HRESULT ( STDMETHODCALLTYPE *StartAt )( 
  1006.             IAMStreamControl * This,
  1007.             /* [in] */ const REFERENCE_TIME *ptStart,
  1008.             /* [in] */ DWORD dwCookie);
  1009.         
  1010.         HRESULT ( STDMETHODCALLTYPE *StopAt )( 
  1011.             IAMStreamControl * This,
  1012.             /* [in] */ const REFERENCE_TIME *ptStop,
  1013.             /* [in] */ BOOL bSendExtra,
  1014.             /* [in] */ DWORD dwCookie);
  1015.         
  1016.         HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
  1017.             IAMStreamControl * This,
  1018.             /* [out] */ AM_STREAM_INFO *pInfo);
  1019.         
  1020.         END_INTERFACE
  1021.     } IAMStreamControlVtbl;
  1022.     interface IAMStreamControl
  1023.     {
  1024.         CONST_VTBL struct IAMStreamControlVtbl *lpVtbl;
  1025.     };
  1026.     
  1027. #ifdef COBJMACROS
  1028. #define IAMStreamControl_QueryInterface(This,riid,ppvObject)
  1029.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1030. #define IAMStreamControl_AddRef(This)
  1031.     (This)->lpVtbl -> AddRef(This)
  1032. #define IAMStreamControl_Release(This)
  1033.     (This)->lpVtbl -> Release(This)
  1034. #define IAMStreamControl_StartAt(This,ptStart,dwCookie)
  1035.     (This)->lpVtbl -> StartAt(This,ptStart,dwCookie)
  1036. #define IAMStreamControl_StopAt(This,ptStop,bSendExtra,dwCookie)
  1037.     (This)->lpVtbl -> StopAt(This,ptStop,bSendExtra,dwCookie)
  1038. #define IAMStreamControl_GetInfo(This,pInfo)
  1039.     (This)->lpVtbl -> GetInfo(This,pInfo)
  1040. #endif /* COBJMACROS */
  1041. #endif  /* C style interface */
  1042. HRESULT STDMETHODCALLTYPE IAMStreamControl_StartAt_Proxy( 
  1043.     IAMStreamControl * This,
  1044.     /* [in] */ const REFERENCE_TIME *ptStart,
  1045.     /* [in] */ DWORD dwCookie);
  1046. void __RPC_STUB IAMStreamControl_StartAt_Stub(
  1047.     IRpcStubBuffer *This,
  1048.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1049.     PRPC_MESSAGE _pRpcMessage,
  1050.     DWORD *_pdwStubPhase);
  1051. HRESULT STDMETHODCALLTYPE IAMStreamControl_StopAt_Proxy( 
  1052.     IAMStreamControl * This,
  1053.     /* [in] */ const REFERENCE_TIME *ptStop,
  1054.     /* [in] */ BOOL bSendExtra,
  1055.     /* [in] */ DWORD dwCookie);
  1056. void __RPC_STUB IAMStreamControl_StopAt_Stub(
  1057.     IRpcStubBuffer *This,
  1058.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1059.     PRPC_MESSAGE _pRpcMessage,
  1060.     DWORD *_pdwStubPhase);
  1061. HRESULT STDMETHODCALLTYPE IAMStreamControl_GetInfo_Proxy( 
  1062.     IAMStreamControl * This,
  1063.     /* [out] */ AM_STREAM_INFO *pInfo);
  1064. void __RPC_STUB IAMStreamControl_GetInfo_Stub(
  1065.     IRpcStubBuffer *This,
  1066.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1067.     PRPC_MESSAGE _pRpcMessage,
  1068.     DWORD *_pdwStubPhase);
  1069. #endif  /* __IAMStreamControl_INTERFACE_DEFINED__ */
  1070. #ifndef __ISeekingPassThru_INTERFACE_DEFINED__
  1071. #define __ISeekingPassThru_INTERFACE_DEFINED__
  1072. /* interface ISeekingPassThru */
  1073. /* [unique][uuid][object] */ 
  1074. EXTERN_C const IID IID_ISeekingPassThru;
  1075. #if defined(__cplusplus) && !defined(CINTERFACE)
  1076.     
  1077.     MIDL_INTERFACE("36b73883-c2c8-11cf-8b46-00805f6cef60")
  1078.     ISeekingPassThru : public IUnknown
  1079.     {
  1080.     public:
  1081.         virtual HRESULT STDMETHODCALLTYPE Init( 
  1082.             /* [in] */ BOOL bSupportRendering,
  1083.             /* [in] */ IPin *pPin) = 0;
  1084.         
  1085.     };
  1086.     
  1087. #else  /* C style interface */
  1088.     typedef struct ISeekingPassThruVtbl
  1089.     {
  1090.         BEGIN_INTERFACE
  1091.         
  1092.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1093.             ISeekingPassThru * This,
  1094.             /* [in] */ REFIID riid,
  1095.             /* [iid_is][out] */ void **ppvObject);
  1096.         
  1097.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1098.             ISeekingPassThru * This);
  1099.         
  1100.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1101.             ISeekingPassThru * This);
  1102.         
  1103.         HRESULT ( STDMETHODCALLTYPE *Init )( 
  1104.             ISeekingPassThru * This,
  1105.             /* [in] */ BOOL bSupportRendering,
  1106.             /* [in] */ IPin *pPin);
  1107.         
  1108.         END_INTERFACE
  1109.     } ISeekingPassThruVtbl;
  1110.     interface ISeekingPassThru
  1111.     {
  1112.         CONST_VTBL struct ISeekingPassThruVtbl *lpVtbl;
  1113.     };
  1114.     
  1115. #ifdef COBJMACROS
  1116. #define ISeekingPassThru_QueryInterface(This,riid,ppvObject)
  1117.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1118. #define ISeekingPassThru_AddRef(This)
  1119.     (This)->lpVtbl -> AddRef(This)
  1120. #define ISeekingPassThru_Release(This)
  1121.     (This)->lpVtbl -> Release(This)
  1122. #define ISeekingPassThru_Init(This,bSupportRendering,pPin)
  1123.     (This)->lpVtbl -> Init(This,bSupportRendering,pPin)
  1124. #endif /* COBJMACROS */
  1125. #endif  /* C style interface */
  1126. HRESULT STDMETHODCALLTYPE ISeekingPassThru_Init_Proxy( 
  1127.     ISeekingPassThru * This,
  1128.     /* [in] */ BOOL bSupportRendering,
  1129.     /* [in] */ IPin *pPin);
  1130. void __RPC_STUB ISeekingPassThru_Init_Stub(
  1131.     IRpcStubBuffer *This,
  1132.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1133.     PRPC_MESSAGE _pRpcMessage,
  1134.     DWORD *_pdwStubPhase);
  1135. #endif  /* __ISeekingPassThru_INTERFACE_DEFINED__ */
  1136. #ifndef __IAMStreamConfig_INTERFACE_DEFINED__
  1137. #define __IAMStreamConfig_INTERFACE_DEFINED__
  1138. /* interface IAMStreamConfig */
  1139. /* [unique][uuid][object] */ 
  1140. typedef struct _VIDEO_STREAM_CONFIG_CAPS
  1141.     {
  1142.     GUID guid;
  1143.     ULONG VideoStandard;
  1144.     SIZE InputSize;
  1145.     SIZE MinCroppingSize;
  1146.     SIZE MaxCroppingSize;
  1147.     int CropGranularityX;
  1148.     int CropGranularityY;
  1149.     int CropAlignX;
  1150.     int CropAlignY;
  1151.     SIZE MinOutputSize;
  1152.     SIZE MaxOutputSize;
  1153.     int OutputGranularityX;
  1154.     int OutputGranularityY;
  1155.     int StretchTapsX;
  1156.     int StretchTapsY;
  1157.     int ShrinkTapsX;
  1158.     int ShrinkTapsY;
  1159.     LONGLONG MinFrameInterval;
  1160.     LONGLONG MaxFrameInterval;
  1161.     LONG MinBitsPerSecond;
  1162.     LONG MaxBitsPerSecond;
  1163.     }  VIDEO_STREAM_CONFIG_CAPS;
  1164. typedef struct _AUDIO_STREAM_CONFIG_CAPS
  1165.     {
  1166.     GUID guid;
  1167.     ULONG MinimumChannels;
  1168.     ULONG MaximumChannels;
  1169.     ULONG ChannelsGranularity;
  1170.     ULONG MinimumBitsPerSample;
  1171.     ULONG MaximumBitsPerSample;
  1172.     ULONG BitsPerSampleGranularity;
  1173.     ULONG MinimumSampleFrequency;
  1174.     ULONG MaximumSampleFrequency;
  1175.     ULONG SampleFrequencyGranularity;
  1176.     }  AUDIO_STREAM_CONFIG_CAPS;
  1177. EXTERN_C const IID IID_IAMStreamConfig;
  1178. #if defined(__cplusplus) && !defined(CINTERFACE)
  1179.     
  1180.     MIDL_INTERFACE("C6E13340-30AC-11d0-A18C-00A0C9118956")
  1181.     IAMStreamConfig : public IUnknown
  1182.     {
  1183.     public:
  1184.         virtual HRESULT STDMETHODCALLTYPE SetFormat( 
  1185.             /* [in] */ AM_MEDIA_TYPE *pmt) = 0;
  1186.         
  1187.         virtual HRESULT STDMETHODCALLTYPE GetFormat( 
  1188.             /* [out] */ AM_MEDIA_TYPE **ppmt) = 0;
  1189.         
  1190.         virtual HRESULT STDMETHODCALLTYPE GetNumberOfCapabilities( 
  1191.             /* [out] */ int *piCount,
  1192.             /* [out] */ int *piSize) = 0;
  1193.         
  1194.         virtual HRESULT STDMETHODCALLTYPE GetStreamCaps( 
  1195.             /* [in] */ int iIndex,
  1196.             /* [out] */ AM_MEDIA_TYPE **ppmt,
  1197.             /* [out] */ BYTE *pSCC) = 0;
  1198.         
  1199.     };
  1200.     
  1201. #else  /* C style interface */
  1202.     typedef struct IAMStreamConfigVtbl
  1203.     {
  1204.         BEGIN_INTERFACE
  1205.         
  1206.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1207.             IAMStreamConfig * This,
  1208.             /* [in] */ REFIID riid,
  1209.             /* [iid_is][out] */ void **ppvObject);
  1210.         
  1211.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1212.             IAMStreamConfig * This);
  1213.         
  1214.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1215.             IAMStreamConfig * This);
  1216.         
  1217.         HRESULT ( STDMETHODCALLTYPE *SetFormat )( 
  1218.             IAMStreamConfig * This,
  1219.             /* [in] */ AM_MEDIA_TYPE *pmt);
  1220.         
  1221.         HRESULT ( STDMETHODCALLTYPE *GetFormat )( 
  1222.             IAMStreamConfig * This,
  1223.             /* [out] */ AM_MEDIA_TYPE **ppmt);
  1224.         
  1225.         HRESULT ( STDMETHODCALLTYPE *GetNumberOfCapabilities )( 
  1226.             IAMStreamConfig * This,
  1227.             /* [out] */ int *piCount,
  1228.             /* [out] */ int *piSize);
  1229.         
  1230.         HRESULT ( STDMETHODCALLTYPE *GetStreamCaps )( 
  1231.             IAMStreamConfig * This,
  1232.             /* [in] */ int iIndex,
  1233.             /* [out] */ AM_MEDIA_TYPE **ppmt,
  1234.             /* [out] */ BYTE *pSCC);
  1235.         
  1236.         END_INTERFACE
  1237.     } IAMStreamConfigVtbl;
  1238.     interface IAMStreamConfig
  1239.     {
  1240.         CONST_VTBL struct IAMStreamConfigVtbl *lpVtbl;
  1241.     };
  1242.     
  1243. #ifdef COBJMACROS
  1244. #define IAMStreamConfig_QueryInterface(This,riid,ppvObject)
  1245.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1246. #define IAMStreamConfig_AddRef(This)
  1247.     (This)->lpVtbl -> AddRef(This)
  1248. #define IAMStreamConfig_Release(This)
  1249.     (This)->lpVtbl -> Release(This)
  1250. #define IAMStreamConfig_SetFormat(This,pmt)
  1251.     (This)->lpVtbl -> SetFormat(This,pmt)
  1252. #define IAMStreamConfig_GetFormat(This,ppmt)
  1253.     (This)->lpVtbl -> GetFormat(This,ppmt)
  1254. #define IAMStreamConfig_GetNumberOfCapabilities(This,piCount,piSize)
  1255.     (This)->lpVtbl -> GetNumberOfCapabilities(This,piCount,piSize)
  1256. #define IAMStreamConfig_GetStreamCaps(This,iIndex,ppmt,pSCC)
  1257.     (This)->lpVtbl -> GetStreamCaps(This,iIndex,ppmt,pSCC)
  1258. #endif /* COBJMACROS */
  1259. #endif  /* C style interface */
  1260. HRESULT STDMETHODCALLTYPE IAMStreamConfig_SetFormat_Proxy( 
  1261.     IAMStreamConfig * This,
  1262.     /* [in] */ AM_MEDIA_TYPE *pmt);
  1263. void __RPC_STUB IAMStreamConfig_SetFormat_Stub(
  1264.     IRpcStubBuffer *This,
  1265.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1266.     PRPC_MESSAGE _pRpcMessage,
  1267.     DWORD *_pdwStubPhase);
  1268. HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetFormat_Proxy( 
  1269.     IAMStreamConfig * This,
  1270.     /* [out] */ AM_MEDIA_TYPE **ppmt);
  1271. void __RPC_STUB IAMStreamConfig_GetFormat_Stub(
  1272.     IRpcStubBuffer *This,
  1273.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1274.     PRPC_MESSAGE _pRpcMessage,
  1275.     DWORD *_pdwStubPhase);
  1276. HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetNumberOfCapabilities_Proxy( 
  1277.     IAMStreamConfig * This,
  1278.     /* [out] */ int *piCount,
  1279.     /* [out] */ int *piSize);
  1280. void __RPC_STUB IAMStreamConfig_GetNumberOfCapabilities_Stub(
  1281.     IRpcStubBuffer *This,
  1282.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1283.     PRPC_MESSAGE _pRpcMessage,
  1284.     DWORD *_pdwStubPhase);
  1285. HRESULT STDMETHODCALLTYPE IAMStreamConfig_GetStreamCaps_Proxy( 
  1286.     IAMStreamConfig * This,
  1287.     /* [in] */ int iIndex,
  1288.     /* [out] */ AM_MEDIA_TYPE **ppmt,
  1289.     /* [out] */ BYTE *pSCC);
  1290. void __RPC_STUB IAMStreamConfig_GetStreamCaps_Stub(
  1291.     IRpcStubBuffer *This,
  1292.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1293.     PRPC_MESSAGE _pRpcMessage,
  1294.     DWORD *_pdwStubPhase);
  1295. #endif  /* __IAMStreamConfig_INTERFACE_DEFINED__ */
  1296. #ifndef __IConfigInterleaving_INTERFACE_DEFINED__
  1297. #define __IConfigInterleaving_INTERFACE_DEFINED__
  1298. /* interface IConfigInterleaving */
  1299. /* [unique][uuid][object] */ 
  1300. typedef /* [public][public][public] */ 
  1301. enum __MIDL_IConfigInterleaving_0001
  1302.     { INTERLEAVE_NONE = 0,
  1303. INTERLEAVE_CAPTURE = INTERLEAVE_NONE + 1,
  1304. INTERLEAVE_FULL = INTERLEAVE_CAPTURE + 1,
  1305. INTERLEAVE_NONE_BUFFERED = INTERLEAVE_FULL + 1
  1306.     }  InterleavingMode;
  1307. EXTERN_C const IID IID_IConfigInterleaving;
  1308. #if defined(__cplusplus) && !defined(CINTERFACE)
  1309.     
  1310.     MIDL_INTERFACE("BEE3D220-157B-11d0-BD23-00A0C911CE86")
  1311.     IConfigInterleaving : public IUnknown
  1312.     {
  1313.     public:
  1314.         virtual HRESULT STDMETHODCALLTYPE put_Mode( 
  1315.             /* [in] */ InterleavingMode mode) = 0;
  1316.         
  1317.         virtual HRESULT STDMETHODCALLTYPE get_Mode( 
  1318.             /* [out] */ InterleavingMode *pMode) = 0;
  1319.         
  1320.         virtual HRESULT STDMETHODCALLTYPE put_Interleaving( 
  1321.             /* [in] */ const REFERENCE_TIME *prtInterleave,
  1322.             /* [in] */ const REFERENCE_TIME *prtPreroll) = 0;
  1323.         
  1324.         virtual HRESULT STDMETHODCALLTYPE get_Interleaving( 
  1325.             /* [out] */ REFERENCE_TIME *prtInterleave,
  1326.             /* [out] */ REFERENCE_TIME *prtPreroll) = 0;
  1327.         
  1328.     };
  1329.     
  1330. #else  /* C style interface */
  1331.     typedef struct IConfigInterleavingVtbl
  1332.     {
  1333.         BEGIN_INTERFACE
  1334.         
  1335.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1336.             IConfigInterleaving * This,
  1337.             /* [in] */ REFIID riid,
  1338.             /* [iid_is][out] */ void **ppvObject);
  1339.         
  1340.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1341.             IConfigInterleaving * This);
  1342.         
  1343.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1344.             IConfigInterleaving * This);
  1345.         
  1346.         HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  1347.             IConfigInterleaving * This,
  1348.             /* [in] */ InterleavingMode mode);
  1349.         
  1350.         HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  1351.             IConfigInterleaving * This,
  1352.             /* [out] */ InterleavingMode *pMode);
  1353.         
  1354.         HRESULT ( STDMETHODCALLTYPE *put_Interleaving )( 
  1355.             IConfigInterleaving * This,
  1356.             /* [in] */ const REFERENCE_TIME *prtInterleave,
  1357.             /* [in] */ const REFERENCE_TIME *prtPreroll);
  1358.         
  1359.         HRESULT ( STDMETHODCALLTYPE *get_Interleaving )( 
  1360.             IConfigInterleaving * This,
  1361.             /* [out] */ REFERENCE_TIME *prtInterleave,
  1362.             /* [out] */ REFERENCE_TIME *prtPreroll);
  1363.         
  1364.         END_INTERFACE
  1365.     } IConfigInterleavingVtbl;
  1366.     interface IConfigInterleaving
  1367.     {
  1368.         CONST_VTBL struct IConfigInterleavingVtbl *lpVtbl;
  1369.     };
  1370.     
  1371. #ifdef COBJMACROS
  1372. #define IConfigInterleaving_QueryInterface(This,riid,ppvObject)
  1373.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1374. #define IConfigInterleaving_AddRef(This)
  1375.     (This)->lpVtbl -> AddRef(This)
  1376. #define IConfigInterleaving_Release(This)
  1377.     (This)->lpVtbl -> Release(This)
  1378. #define IConfigInterleaving_put_Mode(This,mode)
  1379.     (This)->lpVtbl -> put_Mode(This,mode)
  1380. #define IConfigInterleaving_get_Mode(This,pMode)
  1381.     (This)->lpVtbl -> get_Mode(This,pMode)
  1382. #define IConfigInterleaving_put_Interleaving(This,prtInterleave,prtPreroll)
  1383.     (This)->lpVtbl -> put_Interleaving(This,prtInterleave,prtPreroll)
  1384. #define IConfigInterleaving_get_Interleaving(This,prtInterleave,prtPreroll)
  1385.     (This)->lpVtbl -> get_Interleaving(This,prtInterleave,prtPreroll)
  1386. #endif /* COBJMACROS */
  1387. #endif  /* C style interface */
  1388. HRESULT STDMETHODCALLTYPE IConfigInterleaving_put_Mode_Proxy( 
  1389.     IConfigInterleaving * This,
  1390.     /* [in] */ InterleavingMode mode);
  1391. void __RPC_STUB IConfigInterleaving_put_Mode_Stub(
  1392.     IRpcStubBuffer *This,
  1393.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1394.     PRPC_MESSAGE _pRpcMessage,
  1395.     DWORD *_pdwStubPhase);
  1396. HRESULT STDMETHODCALLTYPE IConfigInterleaving_get_Mode_Proxy( 
  1397.     IConfigInterleaving * This,
  1398.     /* [out] */ InterleavingMode *pMode);
  1399. void __RPC_STUB IConfigInterleaving_get_Mode_Stub(
  1400.     IRpcStubBuffer *This,
  1401.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1402.     PRPC_MESSAGE _pRpcMessage,
  1403.     DWORD *_pdwStubPhase);
  1404. HRESULT STDMETHODCALLTYPE IConfigInterleaving_put_Interleaving_Proxy( 
  1405.     IConfigInterleaving * This,
  1406.     /* [in] */ const REFERENCE_TIME *prtInterleave,
  1407.     /* [in] */ const REFERENCE_TIME *prtPreroll);
  1408. void __RPC_STUB IConfigInterleaving_put_Interleaving_Stub(
  1409.     IRpcStubBuffer *This,
  1410.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1411.     PRPC_MESSAGE _pRpcMessage,
  1412.     DWORD *_pdwStubPhase);
  1413. HRESULT STDMETHODCALLTYPE IConfigInterleaving_get_Interleaving_Proxy( 
  1414.     IConfigInterleaving * This,
  1415.     /* [out] */ REFERENCE_TIME *prtInterleave,
  1416.     /* [out] */ REFERENCE_TIME *prtPreroll);
  1417. void __RPC_STUB IConfigInterleaving_get_Interleaving_Stub(
  1418.     IRpcStubBuffer *This,
  1419.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1420.     PRPC_MESSAGE _pRpcMessage,
  1421.     DWORD *_pdwStubPhase);
  1422. #endif  /* __IConfigInterleaving_INTERFACE_DEFINED__ */
  1423. #ifndef __IConfigAviMux_INTERFACE_DEFINED__
  1424. #define __IConfigAviMux_INTERFACE_DEFINED__
  1425. /* interface IConfigAviMux */
  1426. /* [unique][uuid][object] */ 
  1427. EXTERN_C const IID IID_IConfigAviMux;
  1428. #if defined(__cplusplus) && !defined(CINTERFACE)
  1429.     
  1430.     MIDL_INTERFACE("5ACD6AA0-F482-11ce-8B67-00AA00A3F1A6")
  1431.     IConfigAviMux : public IUnknown
  1432.     {
  1433.     public:
  1434.         virtual HRESULT STDMETHODCALLTYPE SetMasterStream( 
  1435.             /* [in] */ LONG iStream) = 0;
  1436.         
  1437.         virtual HRESULT STDMETHODCALLTYPE GetMasterStream( 
  1438.             /* [out] */ LONG *pStream) = 0;
  1439.         
  1440.         virtual HRESULT STDMETHODCALLTYPE SetOutputCompatibilityIndex( 
  1441.             /* [in] */ BOOL fOldIndex) = 0;
  1442.         
  1443.         virtual HRESULT STDMETHODCALLTYPE GetOutputCompatibilityIndex( 
  1444.             /* [out] */ BOOL *pfOldIndex) = 0;
  1445.         
  1446.     };
  1447.     
  1448. #else  /* C style interface */
  1449.     typedef struct IConfigAviMuxVtbl
  1450.     {
  1451.         BEGIN_INTERFACE
  1452.         
  1453.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1454.             IConfigAviMux * This,
  1455.             /* [in] */ REFIID riid,
  1456.             /* [iid_is][out] */ void **ppvObject);
  1457.         
  1458.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1459.             IConfigAviMux * This);
  1460.         
  1461.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1462.             IConfigAviMux * This);
  1463.         
  1464.         HRESULT ( STDMETHODCALLTYPE *SetMasterStream )( 
  1465.             IConfigAviMux * This,
  1466.             /* [in] */ LONG iStream);
  1467.         
  1468.         HRESULT ( STDMETHODCALLTYPE *GetMasterStream )( 
  1469.             IConfigAviMux * This,
  1470.             /* [out] */ LONG *pStream);
  1471.         
  1472.         HRESULT ( STDMETHODCALLTYPE *SetOutputCompatibilityIndex )( 
  1473.             IConfigAviMux * This,
  1474.             /* [in] */ BOOL fOldIndex);
  1475.         
  1476.         HRESULT ( STDMETHODCALLTYPE *GetOutputCompatibilityIndex )( 
  1477.             IConfigAviMux * This,
  1478.             /* [out] */ BOOL *pfOldIndex);
  1479.         
  1480.         END_INTERFACE
  1481.     } IConfigAviMuxVtbl;
  1482.     interface IConfigAviMux
  1483.     {
  1484.         CONST_VTBL struct IConfigAviMuxVtbl *lpVtbl;
  1485.     };
  1486.     
  1487. #ifdef COBJMACROS
  1488. #define IConfigAviMux_QueryInterface(This,riid,ppvObject)
  1489.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1490. #define IConfigAviMux_AddRef(This)
  1491.     (This)->lpVtbl -> AddRef(This)
  1492. #define IConfigAviMux_Release(This)
  1493.     (This)->lpVtbl -> Release(This)
  1494. #define IConfigAviMux_SetMasterStream(This,iStream)
  1495.     (This)->lpVtbl -> SetMasterStream(This,iStream)
  1496. #define IConfigAviMux_GetMasterStream(This,pStream)
  1497.     (This)->lpVtbl -> GetMasterStream(This,pStream)
  1498. #define IConfigAviMux_SetOutputCompatibilityIndex(This,fOldIndex)
  1499.     (This)->lpVtbl -> SetOutputCompatibilityIndex(This,fOldIndex)
  1500. #define IConfigAviMux_GetOutputCompatibilityIndex(This,pfOldIndex)
  1501.     (This)->lpVtbl -> GetOutputCompatibilityIndex(This,pfOldIndex)
  1502. #endif /* COBJMACROS */
  1503. #endif  /* C style interface */
  1504. HRESULT STDMETHODCALLTYPE IConfigAviMux_SetMasterStream_Proxy( 
  1505.     IConfigAviMux * This,
  1506.     /* [in] */ LONG iStream);
  1507. void __RPC_STUB IConfigAviMux_SetMasterStream_Stub(
  1508.     IRpcStubBuffer *This,
  1509.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1510.     PRPC_MESSAGE _pRpcMessage,
  1511.     DWORD *_pdwStubPhase);
  1512. HRESULT STDMETHODCALLTYPE IConfigAviMux_GetMasterStream_Proxy( 
  1513.     IConfigAviMux * This,
  1514.     /* [out] */ LONG *pStream);
  1515. void __RPC_STUB IConfigAviMux_GetMasterStream_Stub(
  1516.     IRpcStubBuffer *This,
  1517.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1518.     PRPC_MESSAGE _pRpcMessage,
  1519.     DWORD *_pdwStubPhase);
  1520. HRESULT STDMETHODCALLTYPE IConfigAviMux_SetOutputCompatibilityIndex_Proxy( 
  1521.     IConfigAviMux * This,
  1522.     /* [in] */ BOOL fOldIndex);
  1523. void __RPC_STUB IConfigAviMux_SetOutputCompatibilityIndex_Stub(
  1524.     IRpcStubBuffer *This,
  1525.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1526.     PRPC_MESSAGE _pRpcMessage,
  1527.     DWORD *_pdwStubPhase);
  1528. HRESULT STDMETHODCALLTYPE IConfigAviMux_GetOutputCompatibilityIndex_Proxy( 
  1529.     IConfigAviMux * This,
  1530.     /* [out] */ BOOL *pfOldIndex);
  1531. void __RPC_STUB IConfigAviMux_GetOutputCompatibilityIndex_Stub(
  1532.     IRpcStubBuffer *This,
  1533.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1534.     PRPC_MESSAGE _pRpcMessage,
  1535.     DWORD *_pdwStubPhase);
  1536. #endif  /* __IConfigAviMux_INTERFACE_DEFINED__ */
  1537. /* interface __MIDL_itf_strmif_0161 */
  1538. /* [local] */ 
  1539. typedef /* [public] */ 
  1540. enum __MIDL___MIDL_itf_strmif_0161_0001
  1541.     { CompressionCaps_CanQuality = 0x1,
  1542. CompressionCaps_CanCrunch = 0x2,
  1543. CompressionCaps_CanKeyFrame = 0x4,
  1544. CompressionCaps_CanBFrame = 0x8,
  1545. CompressionCaps_CanWindow = 0x10
  1546.     }  CompressionCaps;
  1547. extern RPC_IF_HANDLE __MIDL_itf_strmif_0161_v0_0_c_ifspec;
  1548. extern RPC_IF_HANDLE __MIDL_itf_strmif_0161_v0_0_s_ifspec;
  1549. #ifndef __IAMVideoCompression_INTERFACE_DEFINED__
  1550. #define __IAMVideoCompression_INTERFACE_DEFINED__
  1551. /* interface IAMVideoCompression */
  1552. /* [unique][uuid][object] */ 
  1553. EXTERN_C const IID IID_IAMVideoCompression;
  1554. #if defined(__cplusplus) && !defined(CINTERFACE)
  1555.     
  1556.     MIDL_INTERFACE("C6E13343-30AC-11d0-A18C-00A0C9118956")
  1557.     IAMVideoCompression : public IUnknown
  1558.     {
  1559.     public:
  1560.         virtual HRESULT STDMETHODCALLTYPE put_KeyFrameRate( 
  1561.             /* [in] */ long KeyFrameRate) = 0;
  1562.         
  1563.         virtual HRESULT STDMETHODCALLTYPE get_KeyFrameRate( 
  1564.             /* [out] */ long *pKeyFrameRate) = 0;
  1565.         
  1566.         virtual HRESULT STDMETHODCALLTYPE put_PFramesPerKeyFrame( 
  1567.             /* [in] */ long PFramesPerKeyFrame) = 0;
  1568.         
  1569.         virtual HRESULT STDMETHODCALLTYPE get_PFramesPerKeyFrame( 
  1570.             /* [out] */ long *pPFramesPerKeyFrame) = 0;
  1571.         
  1572.         virtual HRESULT STDMETHODCALLTYPE put_Quality( 
  1573.             /* [in] */ double Quality) = 0;
  1574.         
  1575.         virtual HRESULT STDMETHODCALLTYPE get_Quality( 
  1576.             /* [out] */ double *pQuality) = 0;
  1577.         
  1578.         virtual HRESULT STDMETHODCALLTYPE put_WindowSize( 
  1579.             /* [in] */ DWORDLONG WindowSize) = 0;
  1580.         
  1581.         virtual HRESULT STDMETHODCALLTYPE get_WindowSize( 
  1582.             /* [out] */ DWORDLONG *pWindowSize) = 0;
  1583.         
  1584.         virtual HRESULT STDMETHODCALLTYPE GetInfo( 
  1585.             /* [size_is][out] */ WCHAR *pszVersion,
  1586.             /* [out][in] */ int *pcbVersion,
  1587.             /* [size_is][out] */ LPWSTR pszDescription,
  1588.             /* [out][in] */ int *pcbDescription,
  1589.             /* [out] */ long *pDefaultKeyFrameRate,
  1590.             /* [out] */ long *pDefaultPFramesPerKey,
  1591.             /* [out] */ double *pDefaultQuality,
  1592.             /* [out] */ long *pCapabilities) = 0;
  1593.         
  1594.         virtual HRESULT STDMETHODCALLTYPE OverrideKeyFrame( 
  1595.             /* [in] */ long FrameNumber) = 0;
  1596.         
  1597.         virtual HRESULT STDMETHODCALLTYPE OverrideFrameSize( 
  1598.             /* [in] */ long FrameNumber,
  1599.             /* [in] */ long Size) = 0;
  1600.         
  1601.     };
  1602.     
  1603. #else  /* C style interface */
  1604.     typedef struct IAMVideoCompressionVtbl
  1605.     {
  1606.         BEGIN_INTERFACE
  1607.         
  1608.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1609.             IAMVideoCompression * This,
  1610.             /* [in] */ REFIID riid,
  1611.             /* [iid_is][out] */ void **ppvObject);
  1612.         
  1613.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1614.             IAMVideoCompression * This);
  1615.         
  1616.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1617.             IAMVideoCompression * This);
  1618.         
  1619.         HRESULT ( STDMETHODCALLTYPE *put_KeyFrameRate )( 
  1620.             IAMVideoCompression * This,
  1621.             /* [in] */ long KeyFrameRate);
  1622.         
  1623.         HRESULT ( STDMETHODCALLTYPE *get_KeyFrameRate )( 
  1624.             IAMVideoCompression * This,
  1625.             /* [out] */ long *pKeyFrameRate);
  1626.         
  1627.         HRESULT ( STDMETHODCALLTYPE *put_PFramesPerKeyFrame )( 
  1628.             IAMVideoCompression * This,
  1629.             /* [in] */ long PFramesPerKeyFrame);
  1630.         
  1631.         HRESULT ( STDMETHODCALLTYPE *get_PFramesPerKeyFrame )( 
  1632.             IAMVideoCompression * This,
  1633.             /* [out] */ long *pPFramesPerKeyFrame);
  1634.         
  1635.         HRESULT ( STDMETHODCALLTYPE *put_Quality )( 
  1636.             IAMVideoCompression * This,
  1637.             /* [in] */ double Quality);
  1638.         
  1639.         HRESULT ( STDMETHODCALLTYPE *get_Quality )( 
  1640.             IAMVideoCompression * This,
  1641.             /* [out] */ double *pQuality);
  1642.         
  1643.         HRESULT ( STDMETHODCALLTYPE *put_WindowSize )( 
  1644.             IAMVideoCompression * This,
  1645.             /* [in] */ DWORDLONG WindowSize);
  1646.         
  1647.         HRESULT ( STDMETHODCALLTYPE *get_WindowSize )( 
  1648.             IAMVideoCompression * This,
  1649.             /* [out] */ DWORDLONG *pWindowSize);
  1650.         
  1651.         HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
  1652.             IAMVideoCompression * This,
  1653.             /* [size_is][out] */ WCHAR *pszVersion,
  1654.             /* [out][in] */ int *pcbVersion,
  1655.             /* [size_is][out] */ LPWSTR pszDescription,
  1656.             /* [out][in] */ int *pcbDescription,
  1657.             /* [out] */ long *pDefaultKeyFrameRate,
  1658.             /* [out] */ long *pDefaultPFramesPerKey,
  1659.             /* [out] */ double *pDefaultQuality,
  1660.             /* [out] */ long *pCapabilities);
  1661.         
  1662.         HRESULT ( STDMETHODCALLTYPE *OverrideKeyFrame )( 
  1663.             IAMVideoCompression * This,
  1664.             /* [in] */ long FrameNumber);
  1665.         
  1666.         HRESULT ( STDMETHODCALLTYPE *OverrideFrameSize )( 
  1667.             IAMVideoCompression * This,
  1668.             /* [in] */ long FrameNumber,
  1669.             /* [in] */ long Size);
  1670.         
  1671.         END_INTERFACE
  1672.     } IAMVideoCompressionVtbl;
  1673.     interface IAMVideoCompression
  1674.     {
  1675.         CONST_VTBL struct IAMVideoCompressionVtbl *lpVtbl;
  1676.     };
  1677.     
  1678. #ifdef COBJMACROS
  1679. #define IAMVideoCompression_QueryInterface(This,riid,ppvObject)
  1680.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1681. #define IAMVideoCompression_AddRef(This)
  1682.     (This)->lpVtbl -> AddRef(This)
  1683. #define IAMVideoCompression_Release(This)
  1684.     (This)->lpVtbl -> Release(This)
  1685. #define IAMVideoCompression_put_KeyFrameRate(This,KeyFrameRate)
  1686.     (This)->lpVtbl -> put_KeyFrameRate(This,KeyFrameRate)
  1687. #define IAMVideoCompression_get_KeyFrameRate(This,pKeyFrameRate)
  1688.     (This)->lpVtbl -> get_KeyFrameRate(This,pKeyFrameRate)
  1689. #define IAMVideoCompression_put_PFramesPerKeyFrame(This,PFramesPerKeyFrame)
  1690.     (This)->lpVtbl -> put_PFramesPerKeyFrame(This,PFramesPerKeyFrame)
  1691. #define IAMVideoCompression_get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame)
  1692.     (This)->lpVtbl -> get_PFramesPerKeyFrame(This,pPFramesPerKeyFrame)
  1693. #define IAMVideoCompression_put_Quality(This,Quality)
  1694.     (This)->lpVtbl -> put_Quality(This,Quality)
  1695. #define IAMVideoCompression_get_Quality(This,pQuality)
  1696.     (This)->lpVtbl -> get_Quality(This,pQuality)
  1697. #define IAMVideoCompression_put_WindowSize(This,WindowSize)
  1698.     (This)->lpVtbl -> put_WindowSize(This,WindowSize)
  1699. #define IAMVideoCompression_get_WindowSize(This,pWindowSize)
  1700.     (This)->lpVtbl -> get_WindowSize(This,pWindowSize)
  1701. #define IAMVideoCompression_GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities)
  1702.     (This)->lpVtbl -> GetInfo(This,pszVersion,pcbVersion,pszDescription,pcbDescription,pDefaultKeyFrameRate,pDefaultPFramesPerKey,pDefaultQuality,pCapabilities)
  1703. #define IAMVideoCompression_OverrideKeyFrame(This,FrameNumber)
  1704.     (This)->lpVtbl -> OverrideKeyFrame(This,FrameNumber)
  1705. #define IAMVideoCompression_OverrideFrameSize(This,FrameNumber,Size)
  1706.     (This)->lpVtbl -> OverrideFrameSize(This,FrameNumber,Size)
  1707. #endif /* COBJMACROS */
  1708. #endif  /* C style interface */
  1709. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_KeyFrameRate_Proxy( 
  1710.     IAMVideoCompression * This,
  1711.     /* [in] */ long KeyFrameRate);
  1712. void __RPC_STUB IAMVideoCompression_put_KeyFrameRate_Stub(
  1713.     IRpcStubBuffer *This,
  1714.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1715.     PRPC_MESSAGE _pRpcMessage,
  1716.     DWORD *_pdwStubPhase);
  1717. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_KeyFrameRate_Proxy( 
  1718.     IAMVideoCompression * This,
  1719.     /* [out] */ long *pKeyFrameRate);
  1720. void __RPC_STUB IAMVideoCompression_get_KeyFrameRate_Stub(
  1721.     IRpcStubBuffer *This,
  1722.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1723.     PRPC_MESSAGE _pRpcMessage,
  1724.     DWORD *_pdwStubPhase);
  1725. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_PFramesPerKeyFrame_Proxy( 
  1726.     IAMVideoCompression * This,
  1727.     /* [in] */ long PFramesPerKeyFrame);
  1728. void __RPC_STUB IAMVideoCompression_put_PFramesPerKeyFrame_Stub(
  1729.     IRpcStubBuffer *This,
  1730.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1731.     PRPC_MESSAGE _pRpcMessage,
  1732.     DWORD *_pdwStubPhase);
  1733. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_PFramesPerKeyFrame_Proxy( 
  1734.     IAMVideoCompression * This,
  1735.     /* [out] */ long *pPFramesPerKeyFrame);
  1736. void __RPC_STUB IAMVideoCompression_get_PFramesPerKeyFrame_Stub(
  1737.     IRpcStubBuffer *This,
  1738.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1739.     PRPC_MESSAGE _pRpcMessage,
  1740.     DWORD *_pdwStubPhase);
  1741. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_Quality_Proxy( 
  1742.     IAMVideoCompression * This,
  1743.     /* [in] */ double Quality);
  1744. void __RPC_STUB IAMVideoCompression_put_Quality_Stub(
  1745.     IRpcStubBuffer *This,
  1746.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1747.     PRPC_MESSAGE _pRpcMessage,
  1748.     DWORD *_pdwStubPhase);
  1749. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_Quality_Proxy( 
  1750.     IAMVideoCompression * This,
  1751.     /* [out] */ double *pQuality);
  1752. void __RPC_STUB IAMVideoCompression_get_Quality_Stub(
  1753.     IRpcStubBuffer *This,
  1754.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1755.     PRPC_MESSAGE _pRpcMessage,
  1756.     DWORD *_pdwStubPhase);
  1757. HRESULT STDMETHODCALLTYPE IAMVideoCompression_put_WindowSize_Proxy( 
  1758.     IAMVideoCompression * This,
  1759.     /* [in] */ DWORDLONG WindowSize);
  1760. void __RPC_STUB IAMVideoCompression_put_WindowSize_Stub(
  1761.     IRpcStubBuffer *This,
  1762.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1763.     PRPC_MESSAGE _pRpcMessage,
  1764.     DWORD *_pdwStubPhase);
  1765. HRESULT STDMETHODCALLTYPE IAMVideoCompression_get_WindowSize_Proxy( 
  1766.     IAMVideoCompression * This,
  1767.     /* [out] */ DWORDLONG *pWindowSize);
  1768. void __RPC_STUB IAMVideoCompression_get_WindowSize_Stub(
  1769.     IRpcStubBuffer *This,
  1770.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1771.     PRPC_MESSAGE _pRpcMessage,
  1772.     DWORD *_pdwStubPhase);
  1773. HRESULT STDMETHODCALLTYPE IAMVideoCompression_GetInfo_Proxy( 
  1774.     IAMVideoCompression * This,
  1775.     /* [size_is][out] */ WCHAR *pszVersion,
  1776.     /* [out][in] */ int *pcbVersion,
  1777.     /* [size_is][out] */ LPWSTR pszDescription,
  1778.     /* [out][in] */ int *pcbDescription,
  1779.     /* [out] */ long *pDefaultKeyFrameRate,
  1780.     /* [out] */ long *pDefaultPFramesPerKey,
  1781.     /* [out] */ double *pDefaultQuality,
  1782.     /* [out] */ long *pCapabilities);
  1783. void __RPC_STUB IAMVideoCompression_GetInfo_Stub(
  1784.     IRpcStubBuffer *This,
  1785.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1786.     PRPC_MESSAGE _pRpcMessage,
  1787.     DWORD *_pdwStubPhase);
  1788. HRESULT STDMETHODCALLTYPE IAMVideoCompression_OverrideKeyFrame_Proxy( 
  1789.     IAMVideoCompression * This,
  1790.     /* [in] */ long FrameNumber);
  1791. void __RPC_STUB IAMVideoCompression_OverrideKeyFrame_Stub(
  1792.     IRpcStubBuffer *This,
  1793.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1794.     PRPC_MESSAGE _pRpcMessage,
  1795.     DWORD *_pdwStubPhase);
  1796. HRESULT STDMETHODCALLTYPE IAMVideoCompression_OverrideFrameSize_Proxy( 
  1797.     IAMVideoCompression * This,
  1798.     /* [in] */ long FrameNumber,
  1799.     /* [in] */ long Size);
  1800. void __RPC_STUB IAMVideoCompression_OverrideFrameSize_Stub(
  1801.     IRpcStubBuffer *This,
  1802.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1803.     PRPC_MESSAGE _pRpcMessage,
  1804.     DWORD *_pdwStubPhase);
  1805. #endif  /* __IAMVideoCompression_INTERFACE_DEFINED__ */
  1806. /* interface __MIDL_itf_strmif_0162 */
  1807. /* [local] */ 
  1808. typedef /* [public] */ 
  1809. enum __MIDL___MIDL_itf_strmif_0162_0001
  1810.     { VfwCaptureDialog_Source = 0x1,
  1811. VfwCaptureDialog_Format = 0x2,
  1812. VfwCaptureDialog_Display = 0x4
  1813.     }  VfwCaptureDialogs;
  1814. typedef /* [public] */ 
  1815. enum __MIDL___MIDL_itf_strmif_0162_0002
  1816.     { VfwCompressDialog_Config = 0x1,
  1817. VfwCompressDialog_About = 0x2,
  1818. VfwCompressDialog_QueryConfig = 0x4,
  1819. VfwCompressDialog_QueryAbout = 0x8
  1820.     }  VfwCompressDialogs;
  1821. extern RPC_IF_HANDLE __MIDL_itf_strmif_0162_v0_0_c_ifspec;
  1822. extern RPC_IF_HANDLE __MIDL_itf_strmif_0162_v0_0_s_ifspec;
  1823. #ifndef __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
  1824. #define __IAMVfwCaptureDialogs_INTERFACE_DEFINED__
  1825. /* interface IAMVfwCaptureDialogs */
  1826. /* [unique][uuid][local][object] */ 
  1827. EXTERN_C const IID IID_IAMVfwCaptureDialogs;
  1828. #if defined(__cplusplus) && !defined(CINTERFACE)
  1829.     
  1830.     MIDL_INTERFACE("D8D715A0-6E5E-11D0-B3F0-00AA003761C5")
  1831.     IAMVfwCaptureDialogs : public IUnknown
  1832.     {
  1833.     public:
  1834.         virtual HRESULT STDMETHODCALLTYPE HasDialog( 
  1835.             /* [in] */ int iDialog) = 0;
  1836.         
  1837.         virtual HRESULT STDMETHODCALLTYPE ShowDialog( 
  1838.             /* [in] */ int iDialog,
  1839.             /* [in] */ HWND hwnd) = 0;
  1840.         
  1841.         virtual HRESULT STDMETHODCALLTYPE SendDriverMessage( 
  1842.             /* [in] */ int iDialog,
  1843.             /* [in] */ int uMsg,
  1844.             /* [in] */ long dw1,
  1845.             /* [in] */ long dw2) = 0;
  1846.         
  1847.     };
  1848.     
  1849. #else  /* C style interface */
  1850.     typedef struct IAMVfwCaptureDialogsVtbl
  1851.     {
  1852.         BEGIN_INTERFACE
  1853.         
  1854.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1855.             IAMVfwCaptureDialogs * This,
  1856.             /* [in] */ REFIID riid,
  1857.             /* [iid_is][out] */ void **ppvObject);
  1858.         
  1859.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1860.             IAMVfwCaptureDialogs * This);
  1861.         
  1862.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1863.             IAMVfwCaptureDialogs * This);
  1864.         
  1865.         HRESULT ( STDMETHODCALLTYPE *HasDialog )( 
  1866.             IAMVfwCaptureDialogs * This,
  1867.             /* [in] */ int iDialog);
  1868.         
  1869.         HRESULT ( STDMETHODCALLTYPE *ShowDialog )( 
  1870.             IAMVfwCaptureDialogs * This,
  1871.             /* [in] */ int iDialog,
  1872.             /* [in] */ HWND hwnd);
  1873.         
  1874.         HRESULT ( STDMETHODCALLTYPE *SendDriverMessage )( 
  1875.             IAMVfwCaptureDialogs * This,
  1876.             /* [in] */ int iDialog,
  1877.             /* [in] */ int uMsg,
  1878.             /* [in] */ long dw1,
  1879.             /* [in] */ long dw2);
  1880.         
  1881.         END_INTERFACE
  1882.     } IAMVfwCaptureDialogsVtbl;
  1883.     interface IAMVfwCaptureDialogs
  1884.     {
  1885.         CONST_VTBL struct IAMVfwCaptureDialogsVtbl *lpVtbl;
  1886.     };
  1887.     
  1888. #ifdef COBJMACROS
  1889. #define IAMVfwCaptureDialogs_QueryInterface(This,riid,ppvObject)
  1890.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1891. #define IAMVfwCaptureDialogs_AddRef(This)
  1892.     (This)->lpVtbl -> AddRef(This)
  1893. #define IAMVfwCaptureDialogs_Release(This)
  1894.     (This)->lpVtbl -> Release(This)
  1895. #define IAMVfwCaptureDialogs_HasDialog(This,iDialog)
  1896.     (This)->lpVtbl -> HasDialog(This,iDialog)
  1897. #define IAMVfwCaptureDialogs_ShowDialog(This,iDialog,hwnd)
  1898.     (This)->lpVtbl -> ShowDialog(This,iDialog,hwnd)
  1899. #define IAMVfwCaptureDialogs_SendDriverMessage(This,iDialog,uMsg,dw1,dw2)
  1900.     (This)->lpVtbl -> SendDriverMessage(This,iDialog,uMsg,dw1,dw2)
  1901. #endif /* COBJMACROS */
  1902. #endif  /* C style interface */
  1903. HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_HasDialog_Proxy( 
  1904.     IAMVfwCaptureDialogs * This,
  1905.     /* [in] */ int iDialog);
  1906. void __RPC_STUB IAMVfwCaptureDialogs_HasDialog_Stub(
  1907.     IRpcStubBuffer *This,
  1908.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1909.     PRPC_MESSAGE _pRpcMessage,
  1910.     DWORD *_pdwStubPhase);
  1911. HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_ShowDialog_Proxy( 
  1912.     IAMVfwCaptureDialogs * This,
  1913.     /* [in] */ int iDialog,
  1914.     /* [in] */ HWND hwnd);
  1915. void __RPC_STUB IAMVfwCaptureDialogs_ShowDialog_Stub(
  1916.     IRpcStubBuffer *This,
  1917.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1918.     PRPC_MESSAGE _pRpcMessage,
  1919.     DWORD *_pdwStubPhase);
  1920. HRESULT STDMETHODCALLTYPE IAMVfwCaptureDialogs_SendDriverMessage_Proxy( 
  1921.     IAMVfwCaptureDialogs * This,
  1922.     /* [in] */ int iDialog,
  1923.     /* [in] */ int uMsg,
  1924.     /* [in] */ long dw1,
  1925.     /* [in] */ long dw2);
  1926. void __RPC_STUB IAMVfwCaptureDialogs_SendDriverMessage_Stub(
  1927.     IRpcStubBuffer *This,
  1928.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1929.     PRPC_MESSAGE _pRpcMessage,
  1930.     DWORD *_pdwStubPhase);
  1931. #endif  /* __IAMVfwCaptureDialogs_INTERFACE_DEFINED__ */
  1932. #ifndef __IAMVfwCompressDialogs_INTERFACE_DEFINED__
  1933. #define __IAMVfwCompressDialogs_INTERFACE_DEFINED__
  1934. /* interface IAMVfwCompressDialogs */
  1935. /* [unique][uuid][local][object] */ 
  1936. EXTERN_C const IID IID_IAMVfwCompressDialogs;
  1937. #if defined(__cplusplus) && !defined(CINTERFACE)
  1938.     
  1939.     MIDL_INTERFACE("D8D715A3-6E5E-11D0-B3F0-00AA003761C5")
  1940.     IAMVfwCompressDialogs : public IUnknown
  1941.     {
  1942.     public:
  1943.         virtual HRESULT STDMETHODCALLTYPE ShowDialog( 
  1944.             /* [in] */ int iDialog,
  1945.             /* [in] */ HWND hwnd) = 0;
  1946.         
  1947.         virtual HRESULT STDMETHODCALLTYPE GetState( 
  1948.             /* [size_is][out] */ LPVOID pState,
  1949.             /* [out][in] */ int *pcbState) = 0;
  1950.         
  1951.         virtual HRESULT STDMETHODCALLTYPE SetState( 
  1952.             /* [size_is][in] */ LPVOID pState,
  1953.             /* [in] */ int cbState) = 0;
  1954.         
  1955.         virtual HRESULT STDMETHODCALLTYPE SendDriverMessage( 
  1956.             /* [in] */ int uMsg,
  1957.             /* [in] */ long dw1,
  1958.             /* [in] */ long dw2) = 0;
  1959.         
  1960.     };
  1961.     
  1962. #else  /* C style interface */
  1963.     typedef struct IAMVfwCompressDialogsVtbl
  1964.     {
  1965.         BEGIN_INTERFACE
  1966.         
  1967.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1968.             IAMVfwCompressDialogs * This,
  1969.             /* [in] */ REFIID riid,
  1970.             /* [iid_is][out] */ void **ppvObject);
  1971.         
  1972.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1973.             IAMVfwCompressDialogs * This);
  1974.         
  1975.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1976.             IAMVfwCompressDialogs * This);
  1977.         
  1978.         HRESULT ( STDMETHODCALLTYPE *ShowDialog )( 
  1979.             IAMVfwCompressDialogs * This,
  1980.             /* [in] */ int iDialog,
  1981.             /* [in] */ HWND hwnd);
  1982.         
  1983.         HRESULT ( STDMETHODCALLTYPE *GetState )( 
  1984.             IAMVfwCompressDialogs * This,
  1985.             /* [size_is][out] */ LPVOID pState,
  1986.             /* [out][in] */ int *pcbState);
  1987.         
  1988.         HRESULT ( STDMETHODCALLTYPE *SetState )( 
  1989.             IAMVfwCompressDialogs * This,
  1990.             /* [size_is][in] */ LPVOID pState,
  1991.             /* [in] */ int cbState);
  1992.         
  1993.         HRESULT ( STDMETHODCALLTYPE *SendDriverMessage )( 
  1994.             IAMVfwCompressDialogs * This,
  1995.             /* [in] */ int uMsg,
  1996.             /* [in] */ long dw1,
  1997.             /* [in] */ long dw2);
  1998.         
  1999.         END_INTERFACE
  2000.     } IAMVfwCompressDialogsVtbl;
  2001.     interface IAMVfwCompressDialogs
  2002.     {
  2003.         CONST_VTBL struct IAMVfwCompressDialogsVtbl *lpVtbl;
  2004.     };
  2005.     
  2006. #ifdef COBJMACROS
  2007. #define IAMVfwCompressDialogs_QueryInterface(This,riid,ppvObject)
  2008.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2009. #define IAMVfwCompressDialogs_AddRef(This)
  2010.     (This)->lpVtbl -> AddRef(This)
  2011. #define IAMVfwCompressDialogs_Release(This)
  2012.     (This)->lpVtbl -> Release(This)
  2013. #define IAMVfwCompressDialogs_ShowDialog(This,iDialog,hwnd)
  2014.     (This)->lpVtbl -> ShowDialog(This,iDialog,hwnd)
  2015. #define IAMVfwCompressDialogs_GetState(This,pState,pcbState)
  2016.     (This)->lpVtbl -> GetState(This,pState,pcbState)
  2017. #define IAMVfwCompressDialogs_SetState(This,pState,cbState)
  2018.     (This)->lpVtbl -> SetState(This,pState,cbState)
  2019. #define IAMVfwCompressDialogs_SendDriverMessage(This,uMsg,dw1,dw2)
  2020.     (This)->lpVtbl -> SendDriverMessage(This,uMsg,dw1,dw2)
  2021. #endif /* COBJMACROS */
  2022. #endif  /* C style interface */
  2023. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_ShowDialog_Proxy( 
  2024.     IAMVfwCompressDialogs * This,
  2025.     /* [in] */ int iDialog,
  2026.     /* [in] */ HWND hwnd);
  2027. void __RPC_STUB IAMVfwCompressDialogs_ShowDialog_Stub(
  2028.     IRpcStubBuffer *This,
  2029.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2030.     PRPC_MESSAGE _pRpcMessage,
  2031.     DWORD *_pdwStubPhase);
  2032. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_GetState_Proxy( 
  2033.     IAMVfwCompressDialogs * This,
  2034.     /* [size_is][out] */ LPVOID pState,
  2035.     /* [out][in] */ int *pcbState);
  2036. void __RPC_STUB IAMVfwCompressDialogs_GetState_Stub(
  2037.     IRpcStubBuffer *This,
  2038.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2039.     PRPC_MESSAGE _pRpcMessage,
  2040.     DWORD *_pdwStubPhase);
  2041. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_SetState_Proxy( 
  2042.     IAMVfwCompressDialogs * This,
  2043.     /* [size_is][in] */ LPVOID pState,
  2044.     /* [in] */ int cbState);
  2045. void __RPC_STUB IAMVfwCompressDialogs_SetState_Stub(
  2046.     IRpcStubBuffer *This,
  2047.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2048.     PRPC_MESSAGE _pRpcMessage,
  2049.     DWORD *_pdwStubPhase);
  2050. HRESULT STDMETHODCALLTYPE IAMVfwCompressDialogs_SendDriverMessage_Proxy( 
  2051.     IAMVfwCompressDialogs * This,
  2052.     /* [in] */ int uMsg,
  2053.     /* [in] */ long dw1,
  2054.     /* [in] */ long dw2);
  2055. void __RPC_STUB IAMVfwCompressDialogs_SendDriverMessage_Stub(
  2056.     IRpcStubBuffer *This,
  2057.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2058.     PRPC_MESSAGE _pRpcMessage,
  2059.     DWORD *_pdwStubPhase);
  2060. #endif  /* __IAMVfwCompressDialogs_INTERFACE_DEFINED__ */
  2061. #ifndef __IAMDroppedFrames_INTERFACE_DEFINED__
  2062. #define __IAMDroppedFrames_INTERFACE_DEFINED__
  2063. /* interface IAMDroppedFrames */
  2064. /* [unique][uuid][object] */ 
  2065. EXTERN_C const IID IID_IAMDroppedFrames;
  2066. #if defined(__cplusplus) && !defined(CINTERFACE)
  2067.     
  2068.     MIDL_INTERFACE("C6E13344-30AC-11d0-A18C-00A0C9118956")
  2069.     IAMDroppedFrames : public IUnknown
  2070.     {
  2071.     public:
  2072.         virtual HRESULT STDMETHODCALLTYPE GetNumDropped( 
  2073.             /* [out] */ long *plDropped) = 0;
  2074.         
  2075.         virtual HRESULT STDMETHODCALLTYPE GetNumNotDropped( 
  2076.             /* [out] */ long *plNotDropped) = 0;
  2077.         
  2078.         virtual HRESULT STDMETHODCALLTYPE GetDroppedInfo( 
  2079.             /* [in] */ long lSize,
  2080.             /* [out] */ long *plArray,
  2081.             /* [out] */ long *plNumCopied) = 0;
  2082.         
  2083.         virtual HRESULT STDMETHODCALLTYPE GetAverageFrameSize( 
  2084.             /* [out] */ long *plAverageSize) = 0;
  2085.         
  2086.     };
  2087.     
  2088. #else  /* C style interface */
  2089.     typedef struct IAMDroppedFramesVtbl
  2090.     {
  2091.         BEGIN_INTERFACE
  2092.         
  2093.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2094.             IAMDroppedFrames * This,
  2095.             /* [in] */ REFIID riid,
  2096.             /* [iid_is][out] */ void **ppvObject);
  2097.         
  2098.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2099.             IAMDroppedFrames * This);
  2100.         
  2101.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2102.             IAMDroppedFrames * This);
  2103.         
  2104.         HRESULT ( STDMETHODCALLTYPE *GetNumDropped )( 
  2105.             IAMDroppedFrames * This,
  2106.             /* [out] */ long *plDropped);
  2107.         
  2108.         HRESULT ( STDMETHODCALLTYPE *GetNumNotDropped )( 
  2109.             IAMDroppedFrames * This,
  2110.             /* [out] */ long *plNotDropped);
  2111.         
  2112.         HRESULT ( STDMETHODCALLTYPE *GetDroppedInfo )( 
  2113.             IAMDroppedFrames * This,
  2114.             /* [in] */ long lSize,
  2115.             /* [out] */ long *plArray,
  2116.             /* [out] */ long *plNumCopied);
  2117.         
  2118.         HRESULT ( STDMETHODCALLTYPE *GetAverageFrameSize )( 
  2119.             IAMDroppedFrames * This,
  2120.             /* [out] */ long *plAverageSize);
  2121.         
  2122.         END_INTERFACE
  2123.     } IAMDroppedFramesVtbl;
  2124.     interface IAMDroppedFrames
  2125.     {
  2126.         CONST_VTBL struct IAMDroppedFramesVtbl *lpVtbl;
  2127.     };
  2128.     
  2129. #ifdef COBJMACROS
  2130. #define IAMDroppedFrames_QueryInterface(This,riid,ppvObject)
  2131.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2132. #define IAMDroppedFrames_AddRef(This)
  2133.     (This)->lpVtbl -> AddRef(This)
  2134. #define IAMDroppedFrames_Release(This)
  2135.     (This)->lpVtbl -> Release(This)
  2136. #define IAMDroppedFrames_GetNumDropped(This,plDropped)
  2137.     (This)->lpVtbl -> GetNumDropped(This,plDropped)
  2138. #define IAMDroppedFrames_GetNumNotDropped(This,plNotDropped)
  2139.     (This)->lpVtbl -> GetNumNotDropped(This,plNotDropped)
  2140. #define IAMDroppedFrames_GetDroppedInfo(This,lSize,plArray,plNumCopied)
  2141.     (This)->lpVtbl -> GetDroppedInfo(This,lSize,plArray,plNumCopied)
  2142. #define IAMDroppedFrames_GetAverageFrameSize(This,plAverageSize)
  2143.     (This)->lpVtbl -> GetAverageFrameSize(This,plAverageSize)
  2144. #endif /* COBJMACROS */
  2145. #endif  /* C style interface */
  2146. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetNumDropped_Proxy( 
  2147.     IAMDroppedFrames * This,
  2148.     /* [out] */ long *plDropped);
  2149. void __RPC_STUB IAMDroppedFrames_GetNumDropped_Stub(
  2150.     IRpcStubBuffer *This,
  2151.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2152.     PRPC_MESSAGE _pRpcMessage,
  2153.     DWORD *_pdwStubPhase);
  2154. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetNumNotDropped_Proxy( 
  2155.     IAMDroppedFrames * This,
  2156.     /* [out] */ long *plNotDropped);
  2157. void __RPC_STUB IAMDroppedFrames_GetNumNotDropped_Stub(
  2158.     IRpcStubBuffer *This,
  2159.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2160.     PRPC_MESSAGE _pRpcMessage,
  2161.     DWORD *_pdwStubPhase);
  2162. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetDroppedInfo_Proxy( 
  2163.     IAMDroppedFrames * This,
  2164.     /* [in] */ long lSize,
  2165.     /* [out] */ long *plArray,
  2166.     /* [out] */ long *plNumCopied);
  2167. void __RPC_STUB IAMDroppedFrames_GetDroppedInfo_Stub(
  2168.     IRpcStubBuffer *This,
  2169.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2170.     PRPC_MESSAGE _pRpcMessage,
  2171.     DWORD *_pdwStubPhase);
  2172. HRESULT STDMETHODCALLTYPE IAMDroppedFrames_GetAverageFrameSize_Proxy( 
  2173.     IAMDroppedFrames * This,
  2174.     /* [out] */ long *plAverageSize);
  2175. void __RPC_STUB IAMDroppedFrames_GetAverageFrameSize_Stub(
  2176.     IRpcStubBuffer *This,
  2177.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2178.     PRPC_MESSAGE _pRpcMessage,
  2179.     DWORD *_pdwStubPhase);
  2180. #endif  /* __IAMDroppedFrames_INTERFACE_DEFINED__ */
  2181. /* interface __MIDL_itf_strmif_0165 */
  2182. /* [local] */ 
  2183. #define AMF_AUTOMATICGAIN -1.0
  2184. extern RPC_IF_HANDLE __MIDL_itf_strmif_0165_v0_0_c_ifspec;
  2185. extern RPC_IF_HANDLE __MIDL_itf_strmif_0165_v0_0_s_ifspec;
  2186. #ifndef __IAMAudioInputMixer_INTERFACE_DEFINED__
  2187. #define __IAMAudioInputMixer_INTERFACE_DEFINED__
  2188. /* interface IAMAudioInputMixer */
  2189. /* [unique][uuid][object] */ 
  2190. EXTERN_C const IID IID_IAMAudioInputMixer;
  2191. #if defined(__cplusplus) && !defined(CINTERFACE)
  2192.     
  2193.     MIDL_INTERFACE("54C39221-8380-11d0-B3F0-00AA003761C5")
  2194.     IAMAudioInputMixer : public IUnknown
  2195.     {
  2196.     public:
  2197.         virtual HRESULT STDMETHODCALLTYPE put_Enable( 
  2198.             /* [in] */ BOOL fEnable) = 0;
  2199.         
  2200.         virtual HRESULT STDMETHODCALLTYPE get_Enable( 
  2201.             /* [out] */ BOOL *pfEnable) = 0;
  2202.         
  2203.         virtual HRESULT STDMETHODCALLTYPE put_Mono( 
  2204.             /* [in] */ BOOL fMono) = 0;
  2205.         
  2206.         virtual HRESULT STDMETHODCALLTYPE get_Mono( 
  2207.             /* [out] */ BOOL *pfMono) = 0;
  2208.         
  2209.         virtual HRESULT STDMETHODCALLTYPE put_MixLevel( 
  2210.             /* [in] */ double Level) = 0;
  2211.         
  2212.         virtual HRESULT STDMETHODCALLTYPE get_MixLevel( 
  2213.             /* [out] */ double *pLevel) = 0;
  2214.         
  2215.         virtual HRESULT STDMETHODCALLTYPE put_Pan( 
  2216.             /* [in] */ double Pan) = 0;
  2217.         
  2218.         virtual HRESULT STDMETHODCALLTYPE get_Pan( 
  2219.             /* [out] */ double *pPan) = 0;
  2220.         
  2221.         virtual HRESULT STDMETHODCALLTYPE put_Loudness( 
  2222.             /* [in] */ BOOL fLoudness) = 0;
  2223.         
  2224.         virtual HRESULT STDMETHODCALLTYPE get_Loudness( 
  2225.             /* [out] */ BOOL *pfLoudness) = 0;
  2226.         
  2227.         virtual HRESULT STDMETHODCALLTYPE put_Treble( 
  2228.             /* [in] */ double Treble) = 0;
  2229.         
  2230.         virtual HRESULT STDMETHODCALLTYPE get_Treble( 
  2231.             /* [out] */ double *pTreble) = 0;
  2232.         
  2233.         virtual HRESULT STDMETHODCALLTYPE get_TrebleRange( 
  2234.             /* [out] */ double *pRange) = 0;
  2235.         
  2236.         virtual HRESULT STDMETHODCALLTYPE put_Bass( 
  2237.             /* [in] */ double Bass) = 0;
  2238.         
  2239.         virtual HRESULT STDMETHODCALLTYPE get_Bass( 
  2240.             /* [out] */ double *pBass) = 0;
  2241.         
  2242.         virtual HRESULT STDMETHODCALLTYPE get_BassRange( 
  2243.             /* [out] */ double *pRange) = 0;
  2244.         
  2245.     };
  2246.     
  2247. #else  /* C style interface */
  2248.     typedef struct IAMAudioInputMixerVtbl
  2249.     {
  2250.         BEGIN_INTERFACE
  2251.         
  2252.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2253.             IAMAudioInputMixer * This,
  2254.             /* [in] */ REFIID riid,
  2255.             /* [iid_is][out] */ void **ppvObject);
  2256.         
  2257.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2258.             IAMAudioInputMixer * This);
  2259.         
  2260.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2261.             IAMAudioInputMixer * This);
  2262.         
  2263.         HRESULT ( STDMETHODCALLTYPE *put_Enable )( 
  2264.             IAMAudioInputMixer * This,
  2265.             /* [in] */ BOOL fEnable);
  2266.         
  2267.         HRESULT ( STDMETHODCALLTYPE *get_Enable )( 
  2268.             IAMAudioInputMixer * This,
  2269.             /* [out] */ BOOL *pfEnable);
  2270.         
  2271.         HRESULT ( STDMETHODCALLTYPE *put_Mono )( 
  2272.             IAMAudioInputMixer * This,
  2273.             /* [in] */ BOOL fMono);
  2274.         
  2275.         HRESULT ( STDMETHODCALLTYPE *get_Mono )( 
  2276.             IAMAudioInputMixer * This,
  2277.             /* [out] */ BOOL *pfMono);
  2278.         
  2279.         HRESULT ( STDMETHODCALLTYPE *put_MixLevel )( 
  2280.             IAMAudioInputMixer * This,
  2281.             /* [in] */ double Level);
  2282.         
  2283.         HRESULT ( STDMETHODCALLTYPE *get_MixLevel )( 
  2284.             IAMAudioInputMixer * This,
  2285.             /* [out] */ double *pLevel);
  2286.         
  2287.         HRESULT ( STDMETHODCALLTYPE *put_Pan )( 
  2288.             IAMAudioInputMixer * This,
  2289.             /* [in] */ double Pan);
  2290.         
  2291.         HRESULT ( STDMETHODCALLTYPE *get_Pan )( 
  2292.             IAMAudioInputMixer * This,
  2293.             /* [out] */ double *pPan);
  2294.         
  2295.         HRESULT ( STDMETHODCALLTYPE *put_Loudness )( 
  2296.             IAMAudioInputMixer * This,
  2297.             /* [in] */ BOOL fLoudness);
  2298.         
  2299.         HRESULT ( STDMETHODCALLTYPE *get_Loudness )( 
  2300.             IAMAudioInputMixer * This,
  2301.             /* [out] */ BOOL *pfLoudness);
  2302.         
  2303.         HRESULT ( STDMETHODCALLTYPE *put_Treble )( 
  2304.             IAMAudioInputMixer * This,
  2305.             /* [in] */ double Treble);
  2306.         
  2307.         HRESULT ( STDMETHODCALLTYPE *get_Treble )( 
  2308.             IAMAudioInputMixer * This,
  2309.             /* [out] */ double *pTreble);
  2310.         
  2311.         HRESULT ( STDMETHODCALLTYPE *get_TrebleRange )( 
  2312.             IAMAudioInputMixer * This,
  2313.             /* [out] */ double *pRange);
  2314.         
  2315.         HRESULT ( STDMETHODCALLTYPE *put_Bass )( 
  2316.             IAMAudioInputMixer * This,
  2317.             /* [in] */ double Bass);
  2318.         
  2319.         HRESULT ( STDMETHODCALLTYPE *get_Bass )( 
  2320.             IAMAudioInputMixer * This,
  2321.             /* [out] */ double *pBass);
  2322.         
  2323.         HRESULT ( STDMETHODCALLTYPE *get_BassRange )( 
  2324.             IAMAudioInputMixer * This,
  2325.             /* [out] */ double *pRange);
  2326.         
  2327.         END_INTERFACE
  2328.     } IAMAudioInputMixerVtbl;
  2329.     interface IAMAudioInputMixer
  2330.     {
  2331.         CONST_VTBL struct IAMAudioInputMixerVtbl *lpVtbl;
  2332.     };
  2333.     
  2334. #ifdef COBJMACROS
  2335. #define IAMAudioInputMixer_QueryInterface(This,riid,ppvObject)
  2336.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2337. #define IAMAudioInputMixer_AddRef(This)
  2338.     (This)->lpVtbl -> AddRef(This)
  2339. #define IAMAudioInputMixer_Release(This)
  2340.     (This)->lpVtbl -> Release(This)
  2341. #define IAMAudioInputMixer_put_Enable(This,fEnable)
  2342.     (This)->lpVtbl -> put_Enable(This,fEnable)
  2343. #define IAMAudioInputMixer_get_Enable(This,pfEnable)
  2344.     (This)->lpVtbl -> get_Enable(This,pfEnable)
  2345. #define IAMAudioInputMixer_put_Mono(This,fMono)
  2346.     (This)->lpVtbl -> put_Mono(This,fMono)
  2347. #define IAMAudioInputMixer_get_Mono(This,pfMono)
  2348.     (This)->lpVtbl -> get_Mono(This,pfMono)
  2349. #define IAMAudioInputMixer_put_MixLevel(This,Level)
  2350.     (This)->lpVtbl -> put_MixLevel(This,Level)
  2351. #define IAMAudioInputMixer_get_MixLevel(This,pLevel)
  2352.     (This)->lpVtbl -> get_MixLevel(This,pLevel)
  2353. #define IAMAudioInputMixer_put_Pan(This,Pan)
  2354.     (This)->lpVtbl -> put_Pan(This,Pan)
  2355. #define IAMAudioInputMixer_get_Pan(This,pPan)
  2356.     (This)->lpVtbl -> get_Pan(This,pPan)
  2357. #define IAMAudioInputMixer_put_Loudness(This,fLoudness)
  2358.     (This)->lpVtbl -> put_Loudness(This,fLoudness)
  2359. #define IAMAudioInputMixer_get_Loudness(This,pfLoudness)
  2360.     (This)->lpVtbl -> get_Loudness(This,pfLoudness)
  2361. #define IAMAudioInputMixer_put_Treble(This,Treble)
  2362.     (This)->lpVtbl -> put_Treble(This,Treble)
  2363. #define IAMAudioInputMixer_get_Treble(This,pTreble)
  2364.     (This)->lpVtbl -> get_Treble(This,pTreble)
  2365. #define IAMAudioInputMixer_get_TrebleRange(This,pRange)
  2366.     (This)->lpVtbl -> get_TrebleRange(This,pRange)
  2367. #define IAMAudioInputMixer_put_Bass(This,Bass)
  2368.     (This)->lpVtbl -> put_Bass(This,Bass)
  2369. #define IAMAudioInputMixer_get_Bass(This,pBass)
  2370.     (This)->lpVtbl -> get_Bass(This,pBass)
  2371. #define IAMAudioInputMixer_get_BassRange(This,pRange)
  2372.     (This)->lpVtbl -> get_BassRange(This,pRange)
  2373. #endif /* COBJMACROS */
  2374. #endif  /* C style interface */
  2375. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Enable_Proxy( 
  2376.     IAMAudioInputMixer * This,
  2377.     /* [in] */ BOOL fEnable);
  2378. void __RPC_STUB IAMAudioInputMixer_put_Enable_Stub(
  2379.     IRpcStubBuffer *This,
  2380.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2381.     PRPC_MESSAGE _pRpcMessage,
  2382.     DWORD *_pdwStubPhase);
  2383. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Enable_Proxy( 
  2384.     IAMAudioInputMixer * This,
  2385.     /* [out] */ BOOL *pfEnable);
  2386. void __RPC_STUB IAMAudioInputMixer_get_Enable_Stub(
  2387.     IRpcStubBuffer *This,
  2388.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2389.     PRPC_MESSAGE _pRpcMessage,
  2390.     DWORD *_pdwStubPhase);
  2391. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Mono_Proxy( 
  2392.     IAMAudioInputMixer * This,
  2393.     /* [in] */ BOOL fMono);
  2394. void __RPC_STUB IAMAudioInputMixer_put_Mono_Stub(
  2395.     IRpcStubBuffer *This,
  2396.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2397.     PRPC_MESSAGE _pRpcMessage,
  2398.     DWORD *_pdwStubPhase);
  2399. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Mono_Proxy( 
  2400.     IAMAudioInputMixer * This,
  2401.     /* [out] */ BOOL *pfMono);
  2402. void __RPC_STUB IAMAudioInputMixer_get_Mono_Stub(
  2403.     IRpcStubBuffer *This,
  2404.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2405.     PRPC_MESSAGE _pRpcMessage,
  2406.     DWORD *_pdwStubPhase);
  2407. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_MixLevel_Proxy( 
  2408.     IAMAudioInputMixer * This,
  2409.     /* [in] */ double Level);
  2410. void __RPC_STUB IAMAudioInputMixer_put_MixLevel_Stub(
  2411.     IRpcStubBuffer *This,
  2412.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2413.     PRPC_MESSAGE _pRpcMessage,
  2414.     DWORD *_pdwStubPhase);
  2415. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_MixLevel_Proxy( 
  2416.     IAMAudioInputMixer * This,
  2417.     /* [out] */ double *pLevel);
  2418. void __RPC_STUB IAMAudioInputMixer_get_MixLevel_Stub(
  2419.     IRpcStubBuffer *This,
  2420.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2421.     PRPC_MESSAGE _pRpcMessage,
  2422.     DWORD *_pdwStubPhase);
  2423. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Pan_Proxy( 
  2424.     IAMAudioInputMixer * This,
  2425.     /* [in] */ double Pan);
  2426. void __RPC_STUB IAMAudioInputMixer_put_Pan_Stub(
  2427.     IRpcStubBuffer *This,
  2428.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2429.     PRPC_MESSAGE _pRpcMessage,
  2430.     DWORD *_pdwStubPhase);
  2431. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Pan_Proxy( 
  2432.     IAMAudioInputMixer * This,
  2433.     /* [out] */ double *pPan);
  2434. void __RPC_STUB IAMAudioInputMixer_get_Pan_Stub(
  2435.     IRpcStubBuffer *This,
  2436.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2437.     PRPC_MESSAGE _pRpcMessage,
  2438.     DWORD *_pdwStubPhase);
  2439. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Loudness_Proxy( 
  2440.     IAMAudioInputMixer * This,
  2441.     /* [in] */ BOOL fLoudness);
  2442. void __RPC_STUB IAMAudioInputMixer_put_Loudness_Stub(
  2443.     IRpcStubBuffer *This,
  2444.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2445.     PRPC_MESSAGE _pRpcMessage,
  2446.     DWORD *_pdwStubPhase);
  2447. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Loudness_Proxy( 
  2448.     IAMAudioInputMixer * This,
  2449.     /* [out] */ BOOL *pfLoudness);
  2450. void __RPC_STUB IAMAudioInputMixer_get_Loudness_Stub(
  2451.     IRpcStubBuffer *This,
  2452.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2453.     PRPC_MESSAGE _pRpcMessage,
  2454.     DWORD *_pdwStubPhase);
  2455. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Treble_Proxy( 
  2456.     IAMAudioInputMixer * This,
  2457.     /* [in] */ double Treble);
  2458. void __RPC_STUB IAMAudioInputMixer_put_Treble_Stub(
  2459.     IRpcStubBuffer *This,
  2460.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2461.     PRPC_MESSAGE _pRpcMessage,
  2462.     DWORD *_pdwStubPhase);
  2463. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Treble_Proxy( 
  2464.     IAMAudioInputMixer * This,
  2465.     /* [out] */ double *pTreble);
  2466. void __RPC_STUB IAMAudioInputMixer_get_Treble_Stub(
  2467.     IRpcStubBuffer *This,
  2468.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2469.     PRPC_MESSAGE _pRpcMessage,
  2470.     DWORD *_pdwStubPhase);
  2471. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_TrebleRange_Proxy( 
  2472.     IAMAudioInputMixer * This,
  2473.     /* [out] */ double *pRange);
  2474. void __RPC_STUB IAMAudioInputMixer_get_TrebleRange_Stub(
  2475.     IRpcStubBuffer *This,
  2476.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2477.     PRPC_MESSAGE _pRpcMessage,
  2478.     DWORD *_pdwStubPhase);
  2479. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_put_Bass_Proxy( 
  2480.     IAMAudioInputMixer * This,
  2481.     /* [in] */ double Bass);
  2482. void __RPC_STUB IAMAudioInputMixer_put_Bass_Stub(
  2483.     IRpcStubBuffer *This,
  2484.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2485.     PRPC_MESSAGE _pRpcMessage,
  2486.     DWORD *_pdwStubPhase);
  2487. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_Bass_Proxy( 
  2488.     IAMAudioInputMixer * This,
  2489.     /* [out] */ double *pBass);
  2490. void __RPC_STUB IAMAudioInputMixer_get_Bass_Stub(
  2491.     IRpcStubBuffer *This,
  2492.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2493.     PRPC_MESSAGE _pRpcMessage,
  2494.     DWORD *_pdwStubPhase);
  2495. HRESULT STDMETHODCALLTYPE IAMAudioInputMixer_get_BassRange_Proxy( 
  2496.     IAMAudioInputMixer * This,
  2497.     /* [out] */ double *pRange);
  2498. void __RPC_STUB IAMAudioInputMixer_get_BassRange_Stub(
  2499.     IRpcStubBuffer *This,
  2500.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2501.     PRPC_MESSAGE _pRpcMessage,
  2502.     DWORD *_pdwStubPhase);
  2503. #endif  /* __IAMAudioInputMixer_INTERFACE_DEFINED__ */
  2504. #ifndef __IAMBufferNegotiation_INTERFACE_DEFINED__
  2505. #define __IAMBufferNegotiation_INTERFACE_DEFINED__
  2506. /* interface IAMBufferNegotiation */
  2507. /* [unique][uuid][object] */ 
  2508. EXTERN_C const IID IID_IAMBufferNegotiation;
  2509. #if defined(__cplusplus) && !defined(CINTERFACE)
  2510.     
  2511.     MIDL_INTERFACE("56ED71A0-AF5F-11D0-B3F0-00AA003761C5")
  2512.     IAMBufferNegotiation : public IUnknown
  2513.     {
  2514.     public:
  2515.         virtual HRESULT STDMETHODCALLTYPE SuggestAllocatorProperties( 
  2516.             /* [in] */ const ALLOCATOR_PROPERTIES *pprop) = 0;
  2517.         
  2518.         virtual HRESULT STDMETHODCALLTYPE GetAllocatorProperties( 
  2519.             /* [out] */ ALLOCATOR_PROPERTIES *pprop) = 0;
  2520.         
  2521.     };
  2522.     
  2523. #else  /* C style interface */
  2524.     typedef struct IAMBufferNegotiationVtbl
  2525.     {
  2526.         BEGIN_INTERFACE
  2527.         
  2528.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2529.             IAMBufferNegotiation * This,
  2530.             /* [in] */ REFIID riid,
  2531.             /* [iid_is][out] */ void **ppvObject);
  2532.         
  2533.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2534.             IAMBufferNegotiation * This);
  2535.         
  2536.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2537.             IAMBufferNegotiation * This);
  2538.         
  2539.         HRESULT ( STDMETHODCALLTYPE *SuggestAllocatorProperties )( 
  2540.             IAMBufferNegotiation * This,
  2541.             /* [in] */ const ALLOCATOR_PROPERTIES *pprop);
  2542.         
  2543.         HRESULT ( STDMETHODCALLTYPE *GetAllocatorProperties )( 
  2544.             IAMBufferNegotiation * This,
  2545.             /* [out] */ ALLOCATOR_PROPERTIES *pprop);
  2546.         
  2547.         END_INTERFACE
  2548.     } IAMBufferNegotiationVtbl;
  2549.     interface IAMBufferNegotiation
  2550.     {
  2551.         CONST_VTBL struct IAMBufferNegotiationVtbl *lpVtbl;
  2552.     };
  2553.     
  2554. #ifdef COBJMACROS
  2555. #define IAMBufferNegotiation_QueryInterface(This,riid,ppvObject)
  2556.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2557. #define IAMBufferNegotiation_AddRef(This)
  2558.     (This)->lpVtbl -> AddRef(This)
  2559. #define IAMBufferNegotiation_Release(This)
  2560.     (This)->lpVtbl -> Release(This)
  2561. #define IAMBufferNegotiation_SuggestAllocatorProperties(This,pprop)
  2562.     (This)->lpVtbl -> SuggestAllocatorProperties(This,pprop)
  2563. #define IAMBufferNegotiation_GetAllocatorProperties(This,pprop)
  2564.     (This)->lpVtbl -> GetAllocatorProperties(This,pprop)
  2565. #endif /* COBJMACROS */
  2566. #endif  /* C style interface */
  2567. HRESULT STDMETHODCALLTYPE IAMBufferNegotiation_SuggestAllocatorProperties_Proxy( 
  2568.     IAMBufferNegotiation * This,
  2569.     /* [in] */ const ALLOCATOR_PROPERTIES *pprop);
  2570. void __RPC_STUB IAMBufferNegotiation_SuggestAllocatorProperties_Stub(
  2571.     IRpcStubBuffer *This,
  2572.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2573.     PRPC_MESSAGE _pRpcMessage,
  2574.     DWORD *_pdwStubPhase);
  2575. HRESULT STDMETHODCALLTYPE IAMBufferNegotiation_GetAllocatorProperties_Proxy( 
  2576.     IAMBufferNegotiation * This,
  2577.     /* [out] */ ALLOCATOR_PROPERTIES *pprop);
  2578. void __RPC_STUB IAMBufferNegotiation_GetAllocatorProperties_Stub(
  2579.     IRpcStubBuffer *This,
  2580.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2581.     PRPC_MESSAGE _pRpcMessage,
  2582.     DWORD *_pdwStubPhase);
  2583. #endif  /* __IAMBufferNegotiation_INTERFACE_DEFINED__ */
  2584. /* interface __MIDL_itf_strmif_0167 */
  2585. /* [local] */ 
  2586. typedef 
  2587. enum tagAnalogVideoStandard
  2588.     { AnalogVideo_None = 0,
  2589. AnalogVideo_NTSC_M = 0x1,
  2590. AnalogVideo_NTSC_M_J = 0x2,
  2591. AnalogVideo_NTSC_433 = 0x4,
  2592. AnalogVideo_PAL_B = 0x10,
  2593. AnalogVideo_PAL_D = 0x20,
  2594. AnalogVideo_PAL_G = 0x40,
  2595. AnalogVideo_PAL_H = 0x80,
  2596. AnalogVideo_PAL_I = 0x100,
  2597. AnalogVideo_PAL_M = 0x200,
  2598. AnalogVideo_PAL_N = 0x400,
  2599. AnalogVideo_PAL_60 = 0x800,
  2600. AnalogVideo_SECAM_B = 0x1000,
  2601. AnalogVideo_SECAM_D = 0x2000,
  2602. AnalogVideo_SECAM_G = 0x4000,
  2603. AnalogVideo_SECAM_H = 0x8000,
  2604. AnalogVideo_SECAM_K = 0x10000,
  2605. AnalogVideo_SECAM_K1 = 0x20000,
  2606. AnalogVideo_SECAM_L = 0x40000,
  2607. AnalogVideo_SECAM_L1 = 0x80000,
  2608. AnalogVideo_PAL_N_COMBO = 0x100000
  2609.     }  AnalogVideoStandard;
  2610. #define AnalogVideo_NTSC_Mask  0x00000007
  2611. #define AnalogVideo_PAL_Mask   0x00100FF0
  2612. #define AnalogVideo_SECAM_Mask 0x000FF000
  2613. typedef 
  2614. enum tagTunerInputType
  2615.     { TunerInputCable = 0,
  2616. TunerInputAntenna = TunerInputCable + 1
  2617.     }  TunerInputType;
  2618. typedef /* [public] */ 
  2619. enum __MIDL___MIDL_itf_strmif_0167_0001
  2620.     { VideoCopyProtectionMacrovisionBasic = 0,
  2621. VideoCopyProtectionMacrovisionCBI = VideoCopyProtectionMacrovisionBasic + 1
  2622.     }  VideoCopyProtectionType;
  2623. typedef 
  2624. enum tagPhysicalConnectorType
  2625.     { PhysConn_Video_Tuner = 1,
  2626. PhysConn_Video_Composite = PhysConn_Video_Tuner + 1,
  2627. PhysConn_Video_SVideo = PhysConn_Video_Composite + 1,
  2628. PhysConn_Video_RGB = PhysConn_Video_SVideo + 1,
  2629. PhysConn_Video_YRYBY = PhysConn_Video_RGB + 1,
  2630. PhysConn_Video_SerialDigital = PhysConn_Video_YRYBY + 1,
  2631. PhysConn_Video_ParallelDigital = PhysConn_Video_SerialDigital + 1,
  2632. PhysConn_Video_SCSI = PhysConn_Video_ParallelDigital + 1,
  2633. PhysConn_Video_AUX = PhysConn_Video_SCSI + 1,
  2634. PhysConn_Video_1394 = PhysConn_Video_AUX + 1,
  2635. PhysConn_Video_USB = PhysConn_Video_1394 + 1,
  2636. PhysConn_Video_VideoDecoder = PhysConn_Video_USB + 1,
  2637. PhysConn_Video_VideoEncoder = PhysConn_Video_VideoDecoder + 1,
  2638. PhysConn_Video_SCART = PhysConn_Video_VideoEncoder + 1,
  2639. PhysConn_Video_Black = PhysConn_Video_SCART + 1,
  2640. PhysConn_Audio_Tuner = 0x1000,
  2641. PhysConn_Audio_Line = PhysConn_Audio_Tuner + 1,
  2642. PhysConn_Audio_Mic = PhysConn_Audio_Line + 1,
  2643. PhysConn_Audio_AESDigital = PhysConn_Audio_Mic + 1,
  2644. PhysConn_Audio_SPDIFDigital = PhysConn_Audio_AESDigital + 1,
  2645. PhysConn_Audio_SCSI = PhysConn_Audio_SPDIFDigital + 1,
  2646. PhysConn_Audio_AUX = PhysConn_Audio_SCSI + 1,
  2647. PhysConn_Audio_1394 = PhysConn_Audio_AUX + 1,
  2648. PhysConn_Audio_USB = PhysConn_Audio_1394 + 1,
  2649. PhysConn_Audio_AudioDecoder = PhysConn_Audio_USB + 1
  2650.     }  PhysicalConnectorType;
  2651. extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_c_ifspec;
  2652. extern RPC_IF_HANDLE __MIDL_itf_strmif_0167_v0_0_s_ifspec;
  2653. #ifndef __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
  2654. #define __IAMAnalogVideoDecoder_INTERFACE_DEFINED__
  2655. /* interface IAMAnalogVideoDecoder */
  2656. /* [unique][uuid][object] */ 
  2657. EXTERN_C const IID IID_IAMAnalogVideoDecoder;
  2658. #if defined(__cplusplus) && !defined(CINTERFACE)
  2659.     
  2660.     MIDL_INTERFACE("C6E13350-30AC-11d0-A18C-00A0C9118956")
  2661.     IAMAnalogVideoDecoder : public IUnknown
  2662.     {
  2663.     public:
  2664.         virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats( 
  2665.             /* [out] */ long *lAnalogVideoStandard) = 0;
  2666.         
  2667.         virtual HRESULT STDMETHODCALLTYPE put_TVFormat( 
  2668.             /* [in] */ long lAnalogVideoStandard) = 0;
  2669.         
  2670.         virtual HRESULT STDMETHODCALLTYPE get_TVFormat( 
  2671.             /* [out] */ long *plAnalogVideoStandard) = 0;
  2672.         
  2673.         virtual HRESULT STDMETHODCALLTYPE get_HorizontalLocked( 
  2674.             /* [out] */ long *plLocked) = 0;
  2675.         
  2676.         virtual HRESULT STDMETHODCALLTYPE put_VCRHorizontalLocking( 
  2677.             /* [in] */ long lVCRHorizontalLocking) = 0;
  2678.         
  2679.         virtual HRESULT STDMETHODCALLTYPE get_VCRHorizontalLocking( 
  2680.             /* [out] */ long *plVCRHorizontalLocking) = 0;
  2681.         
  2682.         virtual HRESULT STDMETHODCALLTYPE get_NumberOfLines( 
  2683.             /* [out] */ long *plNumberOfLines) = 0;
  2684.         
  2685.         virtual HRESULT STDMETHODCALLTYPE put_OutputEnable( 
  2686.             /* [in] */ long lOutputEnable) = 0;
  2687.         
  2688.         virtual HRESULT STDMETHODCALLTYPE get_OutputEnable( 
  2689.             /* [out] */ long *plOutputEnable) = 0;
  2690.         
  2691.     };
  2692.     
  2693. #else  /* C style interface */
  2694.     typedef struct IAMAnalogVideoDecoderVtbl
  2695.     {
  2696.         BEGIN_INTERFACE
  2697.         
  2698.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2699.             IAMAnalogVideoDecoder * This,
  2700.             /* [in] */ REFIID riid,
  2701.             /* [iid_is][out] */ void **ppvObject);
  2702.         
  2703.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2704.             IAMAnalogVideoDecoder * This);
  2705.         
  2706.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2707.             IAMAnalogVideoDecoder * This);
  2708.         
  2709.         HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )( 
  2710.             IAMAnalogVideoDecoder * This,
  2711.             /* [out] */ long *lAnalogVideoStandard);
  2712.         
  2713.         HRESULT ( STDMETHODCALLTYPE *put_TVFormat )( 
  2714.             IAMAnalogVideoDecoder * This,
  2715.             /* [in] */ long lAnalogVideoStandard);
  2716.         
  2717.         HRESULT ( STDMETHODCALLTYPE *get_TVFormat )( 
  2718.             IAMAnalogVideoDecoder * This,
  2719.             /* [out] */ long *plAnalogVideoStandard);
  2720.         
  2721.         HRESULT ( STDMETHODCALLTYPE *get_HorizontalLocked )( 
  2722.             IAMAnalogVideoDecoder * This,
  2723.             /* [out] */ long *plLocked);
  2724.         
  2725.         HRESULT ( STDMETHODCALLTYPE *put_VCRHorizontalLocking )( 
  2726.             IAMAnalogVideoDecoder * This,
  2727.             /* [in] */ long lVCRHorizontalLocking);
  2728.         
  2729.         HRESULT ( STDMETHODCALLTYPE *get_VCRHorizontalLocking )( 
  2730.             IAMAnalogVideoDecoder * This,
  2731.             /* [out] */ long *plVCRHorizontalLocking);
  2732.         
  2733.         HRESULT ( STDMETHODCALLTYPE *get_NumberOfLines )( 
  2734.             IAMAnalogVideoDecoder * This,
  2735.             /* [out] */ long *plNumberOfLines);
  2736.         
  2737.         HRESULT ( STDMETHODCALLTYPE *put_OutputEnable )( 
  2738.             IAMAnalogVideoDecoder * This,
  2739.             /* [in] */ long lOutputEnable);
  2740.         
  2741.         HRESULT ( STDMETHODCALLTYPE *get_OutputEnable )( 
  2742.             IAMAnalogVideoDecoder * This,
  2743.             /* [out] */ long *plOutputEnable);
  2744.         
  2745.         END_INTERFACE
  2746.     } IAMAnalogVideoDecoderVtbl;
  2747.     interface IAMAnalogVideoDecoder
  2748.     {
  2749.         CONST_VTBL struct IAMAnalogVideoDecoderVtbl *lpVtbl;
  2750.     };
  2751.     
  2752. #ifdef COBJMACROS
  2753. #define IAMAnalogVideoDecoder_QueryInterface(This,riid,ppvObject)
  2754.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2755. #define IAMAnalogVideoDecoder_AddRef(This)
  2756.     (This)->lpVtbl -> AddRef(This)
  2757. #define IAMAnalogVideoDecoder_Release(This)
  2758.     (This)->lpVtbl -> Release(This)
  2759. #define IAMAnalogVideoDecoder_get_AvailableTVFormats(This,lAnalogVideoStandard)
  2760.     (This)->lpVtbl -> get_AvailableTVFormats(This,lAnalogVideoStandard)
  2761. #define IAMAnalogVideoDecoder_put_TVFormat(This,lAnalogVideoStandard)
  2762.     (This)->lpVtbl -> put_TVFormat(This,lAnalogVideoStandard)
  2763. #define IAMAnalogVideoDecoder_get_TVFormat(This,plAnalogVideoStandard)
  2764.     (This)->lpVtbl -> get_TVFormat(This,plAnalogVideoStandard)
  2765. #define IAMAnalogVideoDecoder_get_HorizontalLocked(This,plLocked)
  2766.     (This)->lpVtbl -> get_HorizontalLocked(This,plLocked)
  2767. #define IAMAnalogVideoDecoder_put_VCRHorizontalLocking(This,lVCRHorizontalLocking)
  2768.     (This)->lpVtbl -> put_VCRHorizontalLocking(This,lVCRHorizontalLocking)
  2769. #define IAMAnalogVideoDecoder_get_VCRHorizontalLocking(This,plVCRHorizontalLocking)
  2770.     (This)->lpVtbl -> get_VCRHorizontalLocking(This,plVCRHorizontalLocking)
  2771. #define IAMAnalogVideoDecoder_get_NumberOfLines(This,plNumberOfLines)
  2772.     (This)->lpVtbl -> get_NumberOfLines(This,plNumberOfLines)
  2773. #define IAMAnalogVideoDecoder_put_OutputEnable(This,lOutputEnable)
  2774.     (This)->lpVtbl -> put_OutputEnable(This,lOutputEnable)
  2775. #define IAMAnalogVideoDecoder_get_OutputEnable(This,plOutputEnable)
  2776.     (This)->lpVtbl -> get_OutputEnable(This,plOutputEnable)
  2777. #endif /* COBJMACROS */
  2778. #endif  /* C style interface */
  2779. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_AvailableTVFormats_Proxy( 
  2780.     IAMAnalogVideoDecoder * This,
  2781.     /* [out] */ long *lAnalogVideoStandard);
  2782. void __RPC_STUB IAMAnalogVideoDecoder_get_AvailableTVFormats_Stub(
  2783.     IRpcStubBuffer *This,
  2784.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2785.     PRPC_MESSAGE _pRpcMessage,
  2786.     DWORD *_pdwStubPhase);
  2787. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_TVFormat_Proxy( 
  2788.     IAMAnalogVideoDecoder * This,
  2789.     /* [in] */ long lAnalogVideoStandard);
  2790. void __RPC_STUB IAMAnalogVideoDecoder_put_TVFormat_Stub(
  2791.     IRpcStubBuffer *This,
  2792.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2793.     PRPC_MESSAGE _pRpcMessage,
  2794.     DWORD *_pdwStubPhase);
  2795. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_TVFormat_Proxy( 
  2796.     IAMAnalogVideoDecoder * This,
  2797.     /* [out] */ long *plAnalogVideoStandard);
  2798. void __RPC_STUB IAMAnalogVideoDecoder_get_TVFormat_Stub(
  2799.     IRpcStubBuffer *This,
  2800.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2801.     PRPC_MESSAGE _pRpcMessage,
  2802.     DWORD *_pdwStubPhase);
  2803. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_HorizontalLocked_Proxy( 
  2804.     IAMAnalogVideoDecoder * This,
  2805.     /* [out] */ long *plLocked);
  2806. void __RPC_STUB IAMAnalogVideoDecoder_get_HorizontalLocked_Stub(
  2807.     IRpcStubBuffer *This,
  2808.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2809.     PRPC_MESSAGE _pRpcMessage,
  2810.     DWORD *_pdwStubPhase);
  2811. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Proxy( 
  2812.     IAMAnalogVideoDecoder * This,
  2813.     /* [in] */ long lVCRHorizontalLocking);
  2814. void __RPC_STUB IAMAnalogVideoDecoder_put_VCRHorizontalLocking_Stub(
  2815.     IRpcStubBuffer *This,
  2816.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2817.     PRPC_MESSAGE _pRpcMessage,
  2818.     DWORD *_pdwStubPhase);
  2819. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Proxy( 
  2820.     IAMAnalogVideoDecoder * This,
  2821.     /* [out] */ long *plVCRHorizontalLocking);
  2822. void __RPC_STUB IAMAnalogVideoDecoder_get_VCRHorizontalLocking_Stub(
  2823.     IRpcStubBuffer *This,
  2824.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2825.     PRPC_MESSAGE _pRpcMessage,
  2826.     DWORD *_pdwStubPhase);
  2827. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_NumberOfLines_Proxy( 
  2828.     IAMAnalogVideoDecoder * This,
  2829.     /* [out] */ long *plNumberOfLines);
  2830. void __RPC_STUB IAMAnalogVideoDecoder_get_NumberOfLines_Stub(
  2831.     IRpcStubBuffer *This,
  2832.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2833.     PRPC_MESSAGE _pRpcMessage,
  2834.     DWORD *_pdwStubPhase);
  2835. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_put_OutputEnable_Proxy( 
  2836.     IAMAnalogVideoDecoder * This,
  2837.     /* [in] */ long lOutputEnable);
  2838. void __RPC_STUB IAMAnalogVideoDecoder_put_OutputEnable_Stub(
  2839.     IRpcStubBuffer *This,
  2840.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2841.     PRPC_MESSAGE _pRpcMessage,
  2842.     DWORD *_pdwStubPhase);
  2843. HRESULT STDMETHODCALLTYPE IAMAnalogVideoDecoder_get_OutputEnable_Proxy( 
  2844.     IAMAnalogVideoDecoder * This,
  2845.     /* [out] */ long *plOutputEnable);
  2846. void __RPC_STUB IAMAnalogVideoDecoder_get_OutputEnable_Stub(
  2847.     IRpcStubBuffer *This,
  2848.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2849.     PRPC_MESSAGE _pRpcMessage,
  2850.     DWORD *_pdwStubPhase);
  2851. #endif  /* __IAMAnalogVideoDecoder_INTERFACE_DEFINED__ */
  2852. /* interface __MIDL_itf_strmif_0168 */
  2853. /* [local] */ 
  2854. typedef 
  2855. enum tagVideoProcAmpProperty
  2856.     { VideoProcAmp_Brightness = 0,
  2857. VideoProcAmp_Contrast = VideoProcAmp_Brightness + 1,
  2858. VideoProcAmp_Hue = VideoProcAmp_Contrast + 1,
  2859. VideoProcAmp_Saturation = VideoProcAmp_Hue + 1,
  2860. VideoProcAmp_Sharpness = VideoProcAmp_Saturation + 1,
  2861. VideoProcAmp_Gamma = VideoProcAmp_Sharpness + 1,
  2862. VideoProcAmp_ColorEnable = VideoProcAmp_Gamma + 1,
  2863. VideoProcAmp_WhiteBalance = VideoProcAmp_ColorEnable + 1,
  2864. VideoProcAmp_BacklightCompensation = VideoProcAmp_WhiteBalance + 1,
  2865. VideoProcAmp_Gain = VideoProcAmp_BacklightCompensation + 1
  2866.     }  VideoProcAmpProperty;
  2867. typedef 
  2868. enum tagVideoProcAmpFlags
  2869.     { VideoProcAmp_Flags_Auto = 0x1,
  2870. VideoProcAmp_Flags_Manual = 0x2
  2871.     }  VideoProcAmpFlags;
  2872. extern RPC_IF_HANDLE __MIDL_itf_strmif_0168_v0_0_c_ifspec;
  2873. extern RPC_IF_HANDLE __MIDL_itf_strmif_0168_v0_0_s_ifspec;
  2874. #ifndef __IAMVideoProcAmp_INTERFACE_DEFINED__
  2875. #define __IAMVideoProcAmp_INTERFACE_DEFINED__
  2876. /* interface IAMVideoProcAmp */
  2877. /* [unique][uuid][object] */ 
  2878. EXTERN_C const IID IID_IAMVideoProcAmp;
  2879. #if defined(__cplusplus) && !defined(CINTERFACE)
  2880.     
  2881.     MIDL_INTERFACE("C6E13360-30AC-11d0-A18C-00A0C9118956")
  2882.     IAMVideoProcAmp : public IUnknown
  2883.     {
  2884.     public:
  2885.         virtual HRESULT STDMETHODCALLTYPE GetRange( 
  2886.             /* [in] */ long Property,
  2887.             /* [out] */ long *pMin,
  2888.             /* [out] */ long *pMax,
  2889.             /* [out] */ long *pSteppingDelta,
  2890.             /* [out] */ long *pDefault,
  2891.             /* [out] */ long *pCapsFlags) = 0;
  2892.         
  2893.         virtual HRESULT STDMETHODCALLTYPE Set( 
  2894.             /* [in] */ long Property,
  2895.             /* [in] */ long lValue,
  2896.             /* [in] */ long Flags) = 0;
  2897.         
  2898.         virtual HRESULT STDMETHODCALLTYPE Get( 
  2899.             /* [in] */ long Property,
  2900.             /* [out] */ long *lValue,
  2901.             /* [out] */ long *Flags) = 0;
  2902.         
  2903.     };
  2904.     
  2905. #else  /* C style interface */
  2906.     typedef struct IAMVideoProcAmpVtbl
  2907.     {
  2908.         BEGIN_INTERFACE
  2909.         
  2910.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2911.             IAMVideoProcAmp * This,
  2912.             /* [in] */ REFIID riid,
  2913.             /* [iid_is][out] */ void **ppvObject);
  2914.         
  2915.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2916.             IAMVideoProcAmp * This);
  2917.         
  2918.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2919.             IAMVideoProcAmp * This);
  2920.         
  2921.         HRESULT ( STDMETHODCALLTYPE *GetRange )( 
  2922.             IAMVideoProcAmp * This,
  2923.             /* [in] */ long Property,
  2924.             /* [out] */ long *pMin,
  2925.             /* [out] */ long *pMax,
  2926.             /* [out] */ long *pSteppingDelta,
  2927.             /* [out] */ long *pDefault,
  2928.             /* [out] */ long *pCapsFlags);
  2929.         
  2930.         HRESULT ( STDMETHODCALLTYPE *Set )( 
  2931.             IAMVideoProcAmp * This,
  2932.             /* [in] */ long Property,
  2933.             /* [in] */ long lValue,
  2934.             /* [in] */ long Flags);
  2935.         
  2936.         HRESULT ( STDMETHODCALLTYPE *Get )( 
  2937.             IAMVideoProcAmp * This,
  2938.             /* [in] */ long Property,
  2939.             /* [out] */ long *lValue,
  2940.             /* [out] */ long *Flags);
  2941.         
  2942.         END_INTERFACE
  2943.     } IAMVideoProcAmpVtbl;
  2944.     interface IAMVideoProcAmp
  2945.     {
  2946.         CONST_VTBL struct IAMVideoProcAmpVtbl *lpVtbl;
  2947.     };
  2948.     
  2949. #ifdef COBJMACROS
  2950. #define IAMVideoProcAmp_QueryInterface(This,riid,ppvObject)
  2951.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2952. #define IAMVideoProcAmp_AddRef(This)
  2953.     (This)->lpVtbl -> AddRef(This)
  2954. #define IAMVideoProcAmp_Release(This)
  2955.     (This)->lpVtbl -> Release(This)
  2956. #define IAMVideoProcAmp_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)
  2957.     (This)->lpVtbl -> GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)
  2958. #define IAMVideoProcAmp_Set(This,Property,lValue,Flags)
  2959.     (This)->lpVtbl -> Set(This,Property,lValue,Flags)
  2960. #define IAMVideoProcAmp_Get(This,Property,lValue,Flags)
  2961.     (This)->lpVtbl -> Get(This,Property,lValue,Flags)
  2962. #endif /* COBJMACROS */
  2963. #endif  /* C style interface */
  2964. HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_GetRange_Proxy( 
  2965.     IAMVideoProcAmp * This,
  2966.     /* [in] */ long Property,
  2967.     /* [out] */ long *pMin,
  2968.     /* [out] */ long *pMax,
  2969.     /* [out] */ long *pSteppingDelta,
  2970.     /* [out] */ long *pDefault,
  2971.     /* [out] */ long *pCapsFlags);
  2972. void __RPC_STUB IAMVideoProcAmp_GetRange_Stub(
  2973.     IRpcStubBuffer *This,
  2974.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2975.     PRPC_MESSAGE _pRpcMessage,
  2976.     DWORD *_pdwStubPhase);
  2977. HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_Set_Proxy( 
  2978.     IAMVideoProcAmp * This,
  2979.     /* [in] */ long Property,
  2980.     /* [in] */ long lValue,
  2981.     /* [in] */ long Flags);
  2982. void __RPC_STUB IAMVideoProcAmp_Set_Stub(
  2983.     IRpcStubBuffer *This,
  2984.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2985.     PRPC_MESSAGE _pRpcMessage,
  2986.     DWORD *_pdwStubPhase);
  2987. HRESULT STDMETHODCALLTYPE IAMVideoProcAmp_Get_Proxy( 
  2988.     IAMVideoProcAmp * This,
  2989.     /* [in] */ long Property,
  2990.     /* [out] */ long *lValue,
  2991.     /* [out] */ long *Flags);
  2992. void __RPC_STUB IAMVideoProcAmp_Get_Stub(
  2993.     IRpcStubBuffer *This,
  2994.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2995.     PRPC_MESSAGE _pRpcMessage,
  2996.     DWORD *_pdwStubPhase);
  2997. #endif  /* __IAMVideoProcAmp_INTERFACE_DEFINED__ */
  2998. /* interface __MIDL_itf_strmif_0169 */
  2999. /* [local] */ 
  3000. typedef 
  3001. enum tagCameraControlProperty
  3002.     { CameraControl_Pan = 0,
  3003. CameraControl_Tilt = CameraControl_Pan + 1,
  3004. CameraControl_Roll = CameraControl_Tilt + 1,
  3005. CameraControl_Zoom = CameraControl_Roll + 1,
  3006. CameraControl_Exposure = CameraControl_Zoom + 1,
  3007. CameraControl_Iris = CameraControl_Exposure + 1,
  3008. CameraControl_Focus = CameraControl_Iris + 1
  3009.     }  CameraControlProperty;
  3010. typedef 
  3011. enum tagCameraControlFlags
  3012.     { CameraControl_Flags_Auto = 0x1,
  3013. CameraControl_Flags_Manual = 0x2
  3014.     }  CameraControlFlags;
  3015. extern RPC_IF_HANDLE __MIDL_itf_strmif_0169_v0_0_c_ifspec;
  3016. extern RPC_IF_HANDLE __MIDL_itf_strmif_0169_v0_0_s_ifspec;
  3017. #ifndef __IAMCameraControl_INTERFACE_DEFINED__
  3018. #define __IAMCameraControl_INTERFACE_DEFINED__
  3019. /* interface IAMCameraControl */
  3020. /* [unique][uuid][object] */ 
  3021. EXTERN_C const IID IID_IAMCameraControl;
  3022. #if defined(__cplusplus) && !defined(CINTERFACE)
  3023.     
  3024.     MIDL_INTERFACE("C6E13370-30AC-11d0-A18C-00A0C9118956")
  3025.     IAMCameraControl : public IUnknown
  3026.     {
  3027.     public:
  3028.         virtual HRESULT STDMETHODCALLTYPE GetRange( 
  3029.             /* [in] */ long Property,
  3030.             /* [out] */ long *pMin,
  3031.             /* [out] */ long *pMax,
  3032.             /* [out] */ long *pSteppingDelta,
  3033.             /* [out] */ long *pDefault,
  3034.             /* [out] */ long *pCapsFlags) = 0;
  3035.         
  3036.         virtual HRESULT STDMETHODCALLTYPE Set( 
  3037.             /* [in] */ long Property,
  3038.             /* [in] */ long lValue,
  3039.             /* [in] */ long Flags) = 0;
  3040.         
  3041.         virtual HRESULT STDMETHODCALLTYPE Get( 
  3042.             /* [in] */ long Property,
  3043.             /* [out] */ long *lValue,
  3044.             /* [out] */ long *Flags) = 0;
  3045.         
  3046.     };
  3047.     
  3048. #else  /* C style interface */
  3049.     typedef struct IAMCameraControlVtbl
  3050.     {
  3051.         BEGIN_INTERFACE
  3052.         
  3053.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3054.             IAMCameraControl * This,
  3055.             /* [in] */ REFIID riid,
  3056.             /* [iid_is][out] */ void **ppvObject);
  3057.         
  3058.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3059.             IAMCameraControl * This);
  3060.         
  3061.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3062.             IAMCameraControl * This);
  3063.         
  3064.         HRESULT ( STDMETHODCALLTYPE *GetRange )( 
  3065.             IAMCameraControl * This,
  3066.             /* [in] */ long Property,
  3067.             /* [out] */ long *pMin,
  3068.             /* [out] */ long *pMax,
  3069.             /* [out] */ long *pSteppingDelta,
  3070.             /* [out] */ long *pDefault,
  3071.             /* [out] */ long *pCapsFlags);
  3072.         
  3073.         HRESULT ( STDMETHODCALLTYPE *Set )( 
  3074.             IAMCameraControl * This,
  3075.             /* [in] */ long Property,
  3076.             /* [in] */ long lValue,
  3077.             /* [in] */ long Flags);
  3078.         
  3079.         HRESULT ( STDMETHODCALLTYPE *Get )( 
  3080.             IAMCameraControl * This,
  3081.             /* [in] */ long Property,
  3082.             /* [out] */ long *lValue,
  3083.             /* [out] */ long *Flags);
  3084.         
  3085.         END_INTERFACE
  3086.     } IAMCameraControlVtbl;
  3087.     interface IAMCameraControl
  3088.     {
  3089.         CONST_VTBL struct IAMCameraControlVtbl *lpVtbl;
  3090.     };
  3091.     
  3092. #ifdef COBJMACROS
  3093. #define IAMCameraControl_QueryInterface(This,riid,ppvObject)
  3094.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3095. #define IAMCameraControl_AddRef(This)
  3096.     (This)->lpVtbl -> AddRef(This)
  3097. #define IAMCameraControl_Release(This)
  3098.     (This)->lpVtbl -> Release(This)
  3099. #define IAMCameraControl_GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)
  3100.     (This)->lpVtbl -> GetRange(This,Property,pMin,pMax,pSteppingDelta,pDefault,pCapsFlags)
  3101. #define IAMCameraControl_Set(This,Property,lValue,Flags)
  3102.     (This)->lpVtbl -> Set(This,Property,lValue,Flags)
  3103. #define IAMCameraControl_Get(This,Property,lValue,Flags)
  3104.     (This)->lpVtbl -> Get(This,Property,lValue,Flags)
  3105. #endif /* COBJMACROS */
  3106. #endif  /* C style interface */
  3107. HRESULT STDMETHODCALLTYPE IAMCameraControl_GetRange_Proxy( 
  3108.     IAMCameraControl * This,
  3109.     /* [in] */ long Property,
  3110.     /* [out] */ long *pMin,
  3111.     /* [out] */ long *pMax,
  3112.     /* [out] */ long *pSteppingDelta,
  3113.     /* [out] */ long *pDefault,
  3114.     /* [out] */ long *pCapsFlags);
  3115. void __RPC_STUB IAMCameraControl_GetRange_Stub(
  3116.     IRpcStubBuffer *This,
  3117.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3118.     PRPC_MESSAGE _pRpcMessage,
  3119.     DWORD *_pdwStubPhase);
  3120. HRESULT STDMETHODCALLTYPE IAMCameraControl_Set_Proxy( 
  3121.     IAMCameraControl * This,
  3122.     /* [in] */ long Property,
  3123.     /* [in] */ long lValue,
  3124.     /* [in] */ long Flags);
  3125. void __RPC_STUB IAMCameraControl_Set_Stub(
  3126.     IRpcStubBuffer *This,
  3127.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3128.     PRPC_MESSAGE _pRpcMessage,
  3129.     DWORD *_pdwStubPhase);
  3130. HRESULT STDMETHODCALLTYPE IAMCameraControl_Get_Proxy( 
  3131.     IAMCameraControl * This,
  3132.     /* [in] */ long Property,
  3133.     /* [out] */ long *lValue,
  3134.     /* [out] */ long *Flags);
  3135. void __RPC_STUB IAMCameraControl_Get_Stub(
  3136.     IRpcStubBuffer *This,
  3137.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3138.     PRPC_MESSAGE _pRpcMessage,
  3139.     DWORD *_pdwStubPhase);
  3140. #endif  /* __IAMCameraControl_INTERFACE_DEFINED__ */
  3141. /* interface __MIDL_itf_strmif_0170 */
  3142. /* [local] */ 
  3143. typedef 
  3144. enum tagVideoControlFlags
  3145.     { VideoControlFlag_FlipHorizontal = 0x1,
  3146. VideoControlFlag_FlipVertical = 0x2,
  3147. VideoControlFlag_ExternalTriggerEnable = 0x4,
  3148. VideoControlFlag_Trigger = 0x8
  3149.     }  VideoControlFlags;
  3150. extern RPC_IF_HANDLE __MIDL_itf_strmif_0170_v0_0_c_ifspec;