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

模拟服务器

开发平台:

C/C++

  1. void __RPC_STUB IAMTimecodeGenerator_put_VITCLine_Stub(
  2.     IRpcStubBuffer *This,
  3.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4.     PRPC_MESSAGE _pRpcMessage,
  5.     DWORD *_pdwStubPhase);
  6. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_get_VITCLine_Proxy( 
  7.     IAMTimecodeGenerator * This,
  8.     /* [out] */ long *pLine);
  9. void __RPC_STUB IAMTimecodeGenerator_get_VITCLine_Stub(
  10.     IRpcStubBuffer *This,
  11.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12.     PRPC_MESSAGE _pRpcMessage,
  13.     DWORD *_pdwStubPhase);
  14. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_SetTimecode_Proxy( 
  15.     IAMTimecodeGenerator * This,
  16.     /* [in] */ PTIMECODE_SAMPLE pTimecodeSample);
  17. void __RPC_STUB IAMTimecodeGenerator_SetTimecode_Stub(
  18.     IRpcStubBuffer *This,
  19.     IRpcChannelBuffer *_pRpcChannelBuffer,
  20.     PRPC_MESSAGE _pRpcMessage,
  21.     DWORD *_pdwStubPhase);
  22. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_GetTimecode_Proxy( 
  23.     IAMTimecodeGenerator * This,
  24.     /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  25. void __RPC_STUB IAMTimecodeGenerator_GetTimecode_Stub(
  26.     IRpcStubBuffer *This,
  27.     IRpcChannelBuffer *_pRpcChannelBuffer,
  28.     PRPC_MESSAGE _pRpcMessage,
  29.     DWORD *_pdwStubPhase);
  30. #endif  /* __IAMTimecodeGenerator_INTERFACE_DEFINED__ */
  31. /* interface __MIDL_itf_strmif_0331 */
  32. /* [local] */ 
  33. typedef IAMTimecodeGenerator *PIAMTIMECODEGENERATOR;
  34. extern RPC_IF_HANDLE __MIDL_itf_strmif_0331_v0_0_c_ifspec;
  35. extern RPC_IF_HANDLE __MIDL_itf_strmif_0331_v0_0_s_ifspec;
  36. #ifndef __IAMTimecodeDisplay_INTERFACE_DEFINED__
  37. #define __IAMTimecodeDisplay_INTERFACE_DEFINED__
  38. /* interface IAMTimecodeDisplay */
  39. /* [unique][uuid][object] */ 
  40. EXTERN_C const IID IID_IAMTimecodeDisplay;
  41. #if defined(__cplusplus) && !defined(CINTERFACE)
  42.     
  43.     MIDL_INTERFACE("9B496CE2-811B-11cf-8C77-00AA006B6814")
  44.     IAMTimecodeDisplay : public IUnknown
  45.     {
  46.     public:
  47.         virtual HRESULT STDMETHODCALLTYPE GetTCDisplayEnable( 
  48.             /* [out] */ long *pState) = 0;
  49.         
  50.         virtual HRESULT STDMETHODCALLTYPE SetTCDisplayEnable( 
  51.             /* [in] */ long State) = 0;
  52.         
  53.         virtual HRESULT STDMETHODCALLTYPE GetTCDisplay( 
  54.             /* [in] */ long Param,
  55.             /* [out] */ long *pValue) = 0;
  56.         
  57.         virtual HRESULT STDMETHODCALLTYPE SetTCDisplay( 
  58.             /* [in] */ long Param,
  59.             /* [in] */ long Value) = 0;
  60.         
  61.     };
  62.     
  63. #else  /* C style interface */
  64.     typedef struct IAMTimecodeDisplayVtbl
  65.     {
  66.         BEGIN_INTERFACE
  67.         
  68.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  69.             IAMTimecodeDisplay * This,
  70.             /* [in] */ REFIID riid,
  71.             /* [iid_is][out] */ void **ppvObject);
  72.         
  73.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  74.             IAMTimecodeDisplay * This);
  75.         
  76.         ULONG ( STDMETHODCALLTYPE *Release )( 
  77.             IAMTimecodeDisplay * This);
  78.         
  79.         HRESULT ( STDMETHODCALLTYPE *GetTCDisplayEnable )( 
  80.             IAMTimecodeDisplay * This,
  81.             /* [out] */ long *pState);
  82.         
  83.         HRESULT ( STDMETHODCALLTYPE *SetTCDisplayEnable )( 
  84.             IAMTimecodeDisplay * This,
  85.             /* [in] */ long State);
  86.         
  87.         HRESULT ( STDMETHODCALLTYPE *GetTCDisplay )( 
  88.             IAMTimecodeDisplay * This,
  89.             /* [in] */ long Param,
  90.             /* [out] */ long *pValue);
  91.         
  92.         HRESULT ( STDMETHODCALLTYPE *SetTCDisplay )( 
  93.             IAMTimecodeDisplay * This,
  94.             /* [in] */ long Param,
  95.             /* [in] */ long Value);
  96.         
  97.         END_INTERFACE
  98.     } IAMTimecodeDisplayVtbl;
  99.     interface IAMTimecodeDisplay
  100.     {
  101.         CONST_VTBL struct IAMTimecodeDisplayVtbl *lpVtbl;
  102.     };
  103.     
  104. #ifdef COBJMACROS
  105. #define IAMTimecodeDisplay_QueryInterface(This,riid,ppvObject)
  106.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  107. #define IAMTimecodeDisplay_AddRef(This)
  108.     (This)->lpVtbl -> AddRef(This)
  109. #define IAMTimecodeDisplay_Release(This)
  110.     (This)->lpVtbl -> Release(This)
  111. #define IAMTimecodeDisplay_GetTCDisplayEnable(This,pState)
  112.     (This)->lpVtbl -> GetTCDisplayEnable(This,pState)
  113. #define IAMTimecodeDisplay_SetTCDisplayEnable(This,State)
  114.     (This)->lpVtbl -> SetTCDisplayEnable(This,State)
  115. #define IAMTimecodeDisplay_GetTCDisplay(This,Param,pValue)
  116.     (This)->lpVtbl -> GetTCDisplay(This,Param,pValue)
  117. #define IAMTimecodeDisplay_SetTCDisplay(This,Param,Value)
  118.     (This)->lpVtbl -> SetTCDisplay(This,Param,Value)
  119. #endif /* COBJMACROS */
  120. #endif  /* C style interface */
  121. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_GetTCDisplayEnable_Proxy( 
  122.     IAMTimecodeDisplay * This,
  123.     /* [out] */ long *pState);
  124. void __RPC_STUB IAMTimecodeDisplay_GetTCDisplayEnable_Stub(
  125.     IRpcStubBuffer *This,
  126.     IRpcChannelBuffer *_pRpcChannelBuffer,
  127.     PRPC_MESSAGE _pRpcMessage,
  128.     DWORD *_pdwStubPhase);
  129. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_SetTCDisplayEnable_Proxy( 
  130.     IAMTimecodeDisplay * This,
  131.     /* [in] */ long State);
  132. void __RPC_STUB IAMTimecodeDisplay_SetTCDisplayEnable_Stub(
  133.     IRpcStubBuffer *This,
  134.     IRpcChannelBuffer *_pRpcChannelBuffer,
  135.     PRPC_MESSAGE _pRpcMessage,
  136.     DWORD *_pdwStubPhase);
  137. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_GetTCDisplay_Proxy( 
  138.     IAMTimecodeDisplay * This,
  139.     /* [in] */ long Param,
  140.     /* [out] */ long *pValue);
  141. void __RPC_STUB IAMTimecodeDisplay_GetTCDisplay_Stub(
  142.     IRpcStubBuffer *This,
  143.     IRpcChannelBuffer *_pRpcChannelBuffer,
  144.     PRPC_MESSAGE _pRpcMessage,
  145.     DWORD *_pdwStubPhase);
  146. HRESULT STDMETHODCALLTYPE IAMTimecodeDisplay_SetTCDisplay_Proxy( 
  147.     IAMTimecodeDisplay * This,
  148.     /* [in] */ long Param,
  149.     /* [in] */ long Value);
  150. void __RPC_STUB IAMTimecodeDisplay_SetTCDisplay_Stub(
  151.     IRpcStubBuffer *This,
  152.     IRpcChannelBuffer *_pRpcChannelBuffer,
  153.     PRPC_MESSAGE _pRpcMessage,
  154.     DWORD *_pdwStubPhase);
  155. #endif  /* __IAMTimecodeDisplay_INTERFACE_DEFINED__ */
  156. /* interface __MIDL_itf_strmif_0332 */
  157. /* [local] */ 
  158. typedef IAMTimecodeDisplay *PIAMTIMECODEDISPLAY;
  159. extern RPC_IF_HANDLE __MIDL_itf_strmif_0332_v0_0_c_ifspec;
  160. extern RPC_IF_HANDLE __MIDL_itf_strmif_0332_v0_0_s_ifspec;
  161. #ifndef __IAMDevMemoryAllocator_INTERFACE_DEFINED__
  162. #define __IAMDevMemoryAllocator_INTERFACE_DEFINED__
  163. /* interface IAMDevMemoryAllocator */
  164. /* [unique][uuid][object] */ 
  165. EXTERN_C const IID IID_IAMDevMemoryAllocator;
  166. #if defined(__cplusplus) && !defined(CINTERFACE)
  167.     
  168.     MIDL_INTERFACE("c6545bf0-e76b-11d0-bd52-00a0c911ce86")
  169.     IAMDevMemoryAllocator : public IUnknown
  170.     {
  171.     public:
  172.         virtual HRESULT STDMETHODCALLTYPE GetInfo( 
  173.             /* [out] */ DWORD *pdwcbTotalFree,
  174.             /* [out] */ DWORD *pdwcbLargestFree,
  175.             /* [out] */ DWORD *pdwcbTotalMemory,
  176.             /* [out] */ DWORD *pdwcbMinimumChunk) = 0;
  177.         
  178.         virtual HRESULT STDMETHODCALLTYPE CheckMemory( 
  179.             /* [in] */ const BYTE *pBuffer) = 0;
  180.         
  181.         virtual HRESULT STDMETHODCALLTYPE Alloc( 
  182.             /* [out] */ BYTE **ppBuffer,
  183.             /* [out][in] */ DWORD *pdwcbBuffer) = 0;
  184.         
  185.         virtual HRESULT STDMETHODCALLTYPE Free( 
  186.             /* [in] */ BYTE *pBuffer) = 0;
  187.         
  188.         virtual HRESULT STDMETHODCALLTYPE GetDevMemoryObject( 
  189.             /* [out] */ IUnknown **ppUnkInnner,
  190.             /* [in] */ IUnknown *pUnkOuter) = 0;
  191.         
  192.     };
  193.     
  194. #else  /* C style interface */
  195.     typedef struct IAMDevMemoryAllocatorVtbl
  196.     {
  197.         BEGIN_INTERFACE
  198.         
  199.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  200.             IAMDevMemoryAllocator * This,
  201.             /* [in] */ REFIID riid,
  202.             /* [iid_is][out] */ void **ppvObject);
  203.         
  204.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  205.             IAMDevMemoryAllocator * This);
  206.         
  207.         ULONG ( STDMETHODCALLTYPE *Release )( 
  208.             IAMDevMemoryAllocator * This);
  209.         
  210.         HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
  211.             IAMDevMemoryAllocator * This,
  212.             /* [out] */ DWORD *pdwcbTotalFree,
  213.             /* [out] */ DWORD *pdwcbLargestFree,
  214.             /* [out] */ DWORD *pdwcbTotalMemory,
  215.             /* [out] */ DWORD *pdwcbMinimumChunk);
  216.         
  217.         HRESULT ( STDMETHODCALLTYPE *CheckMemory )( 
  218.             IAMDevMemoryAllocator * This,
  219.             /* [in] */ const BYTE *pBuffer);
  220.         
  221.         HRESULT ( STDMETHODCALLTYPE *Alloc )( 
  222.             IAMDevMemoryAllocator * This,
  223.             /* [out] */ BYTE **ppBuffer,
  224.             /* [out][in] */ DWORD *pdwcbBuffer);
  225.         
  226.         HRESULT ( STDMETHODCALLTYPE *Free )( 
  227.             IAMDevMemoryAllocator * This,
  228.             /* [in] */ BYTE *pBuffer);
  229.         
  230.         HRESULT ( STDMETHODCALLTYPE *GetDevMemoryObject )( 
  231.             IAMDevMemoryAllocator * This,
  232.             /* [out] */ IUnknown **ppUnkInnner,
  233.             /* [in] */ IUnknown *pUnkOuter);
  234.         
  235.         END_INTERFACE
  236.     } IAMDevMemoryAllocatorVtbl;
  237.     interface IAMDevMemoryAllocator
  238.     {
  239.         CONST_VTBL struct IAMDevMemoryAllocatorVtbl *lpVtbl;
  240.     };
  241.     
  242. #ifdef COBJMACROS
  243. #define IAMDevMemoryAllocator_QueryInterface(This,riid,ppvObject)
  244.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  245. #define IAMDevMemoryAllocator_AddRef(This)
  246.     (This)->lpVtbl -> AddRef(This)
  247. #define IAMDevMemoryAllocator_Release(This)
  248.     (This)->lpVtbl -> Release(This)
  249. #define IAMDevMemoryAllocator_GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk)
  250.     (This)->lpVtbl -> GetInfo(This,pdwcbTotalFree,pdwcbLargestFree,pdwcbTotalMemory,pdwcbMinimumChunk)
  251. #define IAMDevMemoryAllocator_CheckMemory(This,pBuffer)
  252.     (This)->lpVtbl -> CheckMemory(This,pBuffer)
  253. #define IAMDevMemoryAllocator_Alloc(This,ppBuffer,pdwcbBuffer)
  254.     (This)->lpVtbl -> Alloc(This,ppBuffer,pdwcbBuffer)
  255. #define IAMDevMemoryAllocator_Free(This,pBuffer)
  256.     (This)->lpVtbl -> Free(This,pBuffer)
  257. #define IAMDevMemoryAllocator_GetDevMemoryObject(This,ppUnkInnner,pUnkOuter)
  258.     (This)->lpVtbl -> GetDevMemoryObject(This,ppUnkInnner,pUnkOuter)
  259. #endif /* COBJMACROS */
  260. #endif  /* C style interface */
  261. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_GetInfo_Proxy( 
  262.     IAMDevMemoryAllocator * This,
  263.     /* [out] */ DWORD *pdwcbTotalFree,
  264.     /* [out] */ DWORD *pdwcbLargestFree,
  265.     /* [out] */ DWORD *pdwcbTotalMemory,
  266.     /* [out] */ DWORD *pdwcbMinimumChunk);
  267. void __RPC_STUB IAMDevMemoryAllocator_GetInfo_Stub(
  268.     IRpcStubBuffer *This,
  269.     IRpcChannelBuffer *_pRpcChannelBuffer,
  270.     PRPC_MESSAGE _pRpcMessage,
  271.     DWORD *_pdwStubPhase);
  272. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_CheckMemory_Proxy( 
  273.     IAMDevMemoryAllocator * This,
  274.     /* [in] */ const BYTE *pBuffer);
  275. void __RPC_STUB IAMDevMemoryAllocator_CheckMemory_Stub(
  276.     IRpcStubBuffer *This,
  277.     IRpcChannelBuffer *_pRpcChannelBuffer,
  278.     PRPC_MESSAGE _pRpcMessage,
  279.     DWORD *_pdwStubPhase);
  280. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_Alloc_Proxy( 
  281.     IAMDevMemoryAllocator * This,
  282.     /* [out] */ BYTE **ppBuffer,
  283.     /* [out][in] */ DWORD *pdwcbBuffer);
  284. void __RPC_STUB IAMDevMemoryAllocator_Alloc_Stub(
  285.     IRpcStubBuffer *This,
  286.     IRpcChannelBuffer *_pRpcChannelBuffer,
  287.     PRPC_MESSAGE _pRpcMessage,
  288.     DWORD *_pdwStubPhase);
  289. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_Free_Proxy( 
  290.     IAMDevMemoryAllocator * This,
  291.     /* [in] */ BYTE *pBuffer);
  292. void __RPC_STUB IAMDevMemoryAllocator_Free_Stub(
  293.     IRpcStubBuffer *This,
  294.     IRpcChannelBuffer *_pRpcChannelBuffer,
  295.     PRPC_MESSAGE _pRpcMessage,
  296.     DWORD *_pdwStubPhase);
  297. HRESULT STDMETHODCALLTYPE IAMDevMemoryAllocator_GetDevMemoryObject_Proxy( 
  298.     IAMDevMemoryAllocator * This,
  299.     /* [out] */ IUnknown **ppUnkInnner,
  300.     /* [in] */ IUnknown *pUnkOuter);
  301. void __RPC_STUB IAMDevMemoryAllocator_GetDevMemoryObject_Stub(
  302.     IRpcStubBuffer *This,
  303.     IRpcChannelBuffer *_pRpcChannelBuffer,
  304.     PRPC_MESSAGE _pRpcMessage,
  305.     DWORD *_pdwStubPhase);
  306. #endif  /* __IAMDevMemoryAllocator_INTERFACE_DEFINED__ */
  307. /* interface __MIDL_itf_strmif_0333 */
  308. /* [local] */ 
  309. typedef IAMDevMemoryAllocator *PAMDEVMEMORYALLOCATOR;
  310. extern RPC_IF_HANDLE __MIDL_itf_strmif_0333_v0_0_c_ifspec;
  311. extern RPC_IF_HANDLE __MIDL_itf_strmif_0333_v0_0_s_ifspec;
  312. #ifndef __IAMDevMemoryControl_INTERFACE_DEFINED__
  313. #define __IAMDevMemoryControl_INTERFACE_DEFINED__
  314. /* interface IAMDevMemoryControl */
  315. /* [unique][uuid][object] */ 
  316. EXTERN_C const IID IID_IAMDevMemoryControl;
  317. #if defined(__cplusplus) && !defined(CINTERFACE)
  318.     
  319.     MIDL_INTERFACE("c6545bf1-e76b-11d0-bd52-00a0c911ce86")
  320.     IAMDevMemoryControl : public IUnknown
  321.     {
  322.     public:
  323.         virtual HRESULT STDMETHODCALLTYPE QueryWriteSync( void) = 0;
  324.         
  325.         virtual HRESULT STDMETHODCALLTYPE WriteSync( void) = 0;
  326.         
  327.         virtual HRESULT STDMETHODCALLTYPE GetDevId( 
  328.             /* [out] */ DWORD *pdwDevId) = 0;
  329.         
  330.     };
  331.     
  332. #else  /* C style interface */
  333.     typedef struct IAMDevMemoryControlVtbl
  334.     {
  335.         BEGIN_INTERFACE
  336.         
  337.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  338.             IAMDevMemoryControl * This,
  339.             /* [in] */ REFIID riid,
  340.             /* [iid_is][out] */ void **ppvObject);
  341.         
  342.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  343.             IAMDevMemoryControl * This);
  344.         
  345.         ULONG ( STDMETHODCALLTYPE *Release )( 
  346.             IAMDevMemoryControl * This);
  347.         
  348.         HRESULT ( STDMETHODCALLTYPE *QueryWriteSync )( 
  349.             IAMDevMemoryControl * This);
  350.         
  351.         HRESULT ( STDMETHODCALLTYPE *WriteSync )( 
  352.             IAMDevMemoryControl * This);
  353.         
  354.         HRESULT ( STDMETHODCALLTYPE *GetDevId )( 
  355.             IAMDevMemoryControl * This,
  356.             /* [out] */ DWORD *pdwDevId);
  357.         
  358.         END_INTERFACE
  359.     } IAMDevMemoryControlVtbl;
  360.     interface IAMDevMemoryControl
  361.     {
  362.         CONST_VTBL struct IAMDevMemoryControlVtbl *lpVtbl;
  363.     };
  364.     
  365. #ifdef COBJMACROS
  366. #define IAMDevMemoryControl_QueryInterface(This,riid,ppvObject)
  367.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  368. #define IAMDevMemoryControl_AddRef(This)
  369.     (This)->lpVtbl -> AddRef(This)
  370. #define IAMDevMemoryControl_Release(This)
  371.     (This)->lpVtbl -> Release(This)
  372. #define IAMDevMemoryControl_QueryWriteSync(This)
  373.     (This)->lpVtbl -> QueryWriteSync(This)
  374. #define IAMDevMemoryControl_WriteSync(This)
  375.     (This)->lpVtbl -> WriteSync(This)
  376. #define IAMDevMemoryControl_GetDevId(This,pdwDevId)
  377.     (This)->lpVtbl -> GetDevId(This,pdwDevId)
  378. #endif /* COBJMACROS */
  379. #endif  /* C style interface */
  380. HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_QueryWriteSync_Proxy( 
  381.     IAMDevMemoryControl * This);
  382. void __RPC_STUB IAMDevMemoryControl_QueryWriteSync_Stub(
  383.     IRpcStubBuffer *This,
  384.     IRpcChannelBuffer *_pRpcChannelBuffer,
  385.     PRPC_MESSAGE _pRpcMessage,
  386.     DWORD *_pdwStubPhase);
  387. HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_WriteSync_Proxy( 
  388.     IAMDevMemoryControl * This);
  389. void __RPC_STUB IAMDevMemoryControl_WriteSync_Stub(
  390.     IRpcStubBuffer *This,
  391.     IRpcChannelBuffer *_pRpcChannelBuffer,
  392.     PRPC_MESSAGE _pRpcMessage,
  393.     DWORD *_pdwStubPhase);
  394. HRESULT STDMETHODCALLTYPE IAMDevMemoryControl_GetDevId_Proxy( 
  395.     IAMDevMemoryControl * This,
  396.     /* [out] */ DWORD *pdwDevId);
  397. void __RPC_STUB IAMDevMemoryControl_GetDevId_Stub(
  398.     IRpcStubBuffer *This,
  399.     IRpcChannelBuffer *_pRpcChannelBuffer,
  400.     PRPC_MESSAGE _pRpcMessage,
  401.     DWORD *_pdwStubPhase);
  402. #endif  /* __IAMDevMemoryControl_INTERFACE_DEFINED__ */
  403. /* interface __MIDL_itf_strmif_0334 */
  404. /* [local] */ 
  405. typedef IAMDevMemoryControl *PAMDEVMEMORYCONTROL;
  406. enum _AMSTREAMSELECTINFOFLAGS
  407.     { AMSTREAMSELECTINFO_ENABLED = 0x1,
  408. AMSTREAMSELECTINFO_EXCLUSIVE = 0x2
  409.     } ;
  410. enum _AMSTREAMSELECTENABLEFLAGS
  411.     { AMSTREAMSELECTENABLE_ENABLE = 0x1,
  412. AMSTREAMSELECTENABLE_ENABLEALL = 0x2
  413.     } ;
  414. extern RPC_IF_HANDLE __MIDL_itf_strmif_0334_v0_0_c_ifspec;
  415. extern RPC_IF_HANDLE __MIDL_itf_strmif_0334_v0_0_s_ifspec;
  416. #ifndef __IAMStreamSelect_INTERFACE_DEFINED__
  417. #define __IAMStreamSelect_INTERFACE_DEFINED__
  418. /* interface IAMStreamSelect */
  419. /* [unique][uuid][object] */ 
  420. EXTERN_C const IID IID_IAMStreamSelect;
  421. #if defined(__cplusplus) && !defined(CINTERFACE)
  422.     
  423.     MIDL_INTERFACE("c1960960-17f5-11d1-abe1-00a0c905f375")
  424.     IAMStreamSelect : public IUnknown
  425.     {
  426.     public:
  427.         virtual HRESULT STDMETHODCALLTYPE Count( 
  428.             /* [out] */ DWORD *pcStreams) = 0;
  429.         
  430.         virtual HRESULT STDMETHODCALLTYPE Info( 
  431.             /* [in] */ long lIndex,
  432.             /* [out] */ AM_MEDIA_TYPE **ppmt,
  433.             /* [out] */ DWORD *pdwFlags,
  434.             /* [out] */ LCID *plcid,
  435.             /* [out] */ DWORD *pdwGroup,
  436.             /* [out] */ WCHAR **ppszName,
  437.             /* [out] */ IUnknown **ppObject,
  438.             /* [out] */ IUnknown **ppUnk) = 0;
  439.         
  440.         virtual HRESULT STDMETHODCALLTYPE Enable( 
  441.             /* [in] */ long lIndex,
  442.             /* [in] */ DWORD dwFlags) = 0;
  443.         
  444.     };
  445.     
  446. #else  /* C style interface */
  447.     typedef struct IAMStreamSelectVtbl
  448.     {
  449.         BEGIN_INTERFACE
  450.         
  451.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  452.             IAMStreamSelect * This,
  453.             /* [in] */ REFIID riid,
  454.             /* [iid_is][out] */ void **ppvObject);
  455.         
  456.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  457.             IAMStreamSelect * This);
  458.         
  459.         ULONG ( STDMETHODCALLTYPE *Release )( 
  460.             IAMStreamSelect * This);
  461.         
  462.         HRESULT ( STDMETHODCALLTYPE *Count )( 
  463.             IAMStreamSelect * This,
  464.             /* [out] */ DWORD *pcStreams);
  465.         
  466.         HRESULT ( STDMETHODCALLTYPE *Info )( 
  467.             IAMStreamSelect * This,
  468.             /* [in] */ long lIndex,
  469.             /* [out] */ AM_MEDIA_TYPE **ppmt,
  470.             /* [out] */ DWORD *pdwFlags,
  471.             /* [out] */ LCID *plcid,
  472.             /* [out] */ DWORD *pdwGroup,
  473.             /* [out] */ WCHAR **ppszName,
  474.             /* [out] */ IUnknown **ppObject,
  475.             /* [out] */ IUnknown **ppUnk);
  476.         
  477.         HRESULT ( STDMETHODCALLTYPE *Enable )( 
  478.             IAMStreamSelect * This,
  479.             /* [in] */ long lIndex,
  480.             /* [in] */ DWORD dwFlags);
  481.         
  482.         END_INTERFACE
  483.     } IAMStreamSelectVtbl;
  484.     interface IAMStreamSelect
  485.     {
  486.         CONST_VTBL struct IAMStreamSelectVtbl *lpVtbl;
  487.     };
  488.     
  489. #ifdef COBJMACROS
  490. #define IAMStreamSelect_QueryInterface(This,riid,ppvObject)
  491.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  492. #define IAMStreamSelect_AddRef(This)
  493.     (This)->lpVtbl -> AddRef(This)
  494. #define IAMStreamSelect_Release(This)
  495.     (This)->lpVtbl -> Release(This)
  496. #define IAMStreamSelect_Count(This,pcStreams)
  497.     (This)->lpVtbl -> Count(This,pcStreams)
  498. #define IAMStreamSelect_Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk)
  499.     (This)->lpVtbl -> Info(This,lIndex,ppmt,pdwFlags,plcid,pdwGroup,ppszName,ppObject,ppUnk)
  500. #define IAMStreamSelect_Enable(This,lIndex,dwFlags)
  501.     (This)->lpVtbl -> Enable(This,lIndex,dwFlags)
  502. #endif /* COBJMACROS */
  503. #endif  /* C style interface */
  504. HRESULT STDMETHODCALLTYPE IAMStreamSelect_Count_Proxy( 
  505.     IAMStreamSelect * This,
  506.     /* [out] */ DWORD *pcStreams);
  507. void __RPC_STUB IAMStreamSelect_Count_Stub(
  508.     IRpcStubBuffer *This,
  509.     IRpcChannelBuffer *_pRpcChannelBuffer,
  510.     PRPC_MESSAGE _pRpcMessage,
  511.     DWORD *_pdwStubPhase);
  512. HRESULT STDMETHODCALLTYPE IAMStreamSelect_Info_Proxy( 
  513.     IAMStreamSelect * This,
  514.     /* [in] */ long lIndex,
  515.     /* [out] */ AM_MEDIA_TYPE **ppmt,
  516.     /* [out] */ DWORD *pdwFlags,
  517.     /* [out] */ LCID *plcid,
  518.     /* [out] */ DWORD *pdwGroup,
  519.     /* [out] */ WCHAR **ppszName,
  520.     /* [out] */ IUnknown **ppObject,
  521.     /* [out] */ IUnknown **ppUnk);
  522. void __RPC_STUB IAMStreamSelect_Info_Stub(
  523.     IRpcStubBuffer *This,
  524.     IRpcChannelBuffer *_pRpcChannelBuffer,
  525.     PRPC_MESSAGE _pRpcMessage,
  526.     DWORD *_pdwStubPhase);
  527. HRESULT STDMETHODCALLTYPE IAMStreamSelect_Enable_Proxy( 
  528.     IAMStreamSelect * This,
  529.     /* [in] */ long lIndex,
  530.     /* [in] */ DWORD dwFlags);
  531. void __RPC_STUB IAMStreamSelect_Enable_Stub(
  532.     IRpcStubBuffer *This,
  533.     IRpcChannelBuffer *_pRpcChannelBuffer,
  534.     PRPC_MESSAGE _pRpcMessage,
  535.     DWORD *_pdwStubPhase);
  536. #endif  /* __IAMStreamSelect_INTERFACE_DEFINED__ */
  537. /* interface __MIDL_itf_strmif_0335 */
  538. /* [local] */ 
  539. typedef IAMStreamSelect *PAMSTREAMSELECT;
  540. enum _AMRESCTL_RESERVEFLAGS
  541.     { AMRESCTL_RESERVEFLAGS_RESERVE = 0,
  542. AMRESCTL_RESERVEFLAGS_UNRESERVE = 0x1
  543.     } ;
  544. extern RPC_IF_HANDLE __MIDL_itf_strmif_0335_v0_0_c_ifspec;
  545. extern RPC_IF_HANDLE __MIDL_itf_strmif_0335_v0_0_s_ifspec;
  546. #ifndef __IAMResourceControl_INTERFACE_DEFINED__
  547. #define __IAMResourceControl_INTERFACE_DEFINED__
  548. /* interface IAMResourceControl */
  549. /* [local][unique][uuid][object] */ 
  550. EXTERN_C const IID IID_IAMResourceControl;
  551. #if defined(__cplusplus) && !defined(CINTERFACE)
  552.     
  553.     MIDL_INTERFACE("8389d2d0-77d7-11d1-abe6-00a0c905f375")
  554.     IAMResourceControl : public IUnknown
  555.     {
  556.     public:
  557.         virtual HRESULT STDMETHODCALLTYPE Reserve( 
  558.             /* [in] */ DWORD dwFlags,
  559.             /* [in] */ PVOID pvReserved) = 0;
  560.         
  561.     };
  562.     
  563. #else  /* C style interface */
  564.     typedef struct IAMResourceControlVtbl
  565.     {
  566.         BEGIN_INTERFACE
  567.         
  568.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  569.             IAMResourceControl * This,
  570.             /* [in] */ REFIID riid,
  571.             /* [iid_is][out] */ void **ppvObject);
  572.         
  573.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  574.             IAMResourceControl * This);
  575.         
  576.         ULONG ( STDMETHODCALLTYPE *Release )( 
  577.             IAMResourceControl * This);
  578.         
  579.         HRESULT ( STDMETHODCALLTYPE *Reserve )( 
  580.             IAMResourceControl * This,
  581.             /* [in] */ DWORD dwFlags,
  582.             /* [in] */ PVOID pvReserved);
  583.         
  584.         END_INTERFACE
  585.     } IAMResourceControlVtbl;
  586.     interface IAMResourceControl
  587.     {
  588.         CONST_VTBL struct IAMResourceControlVtbl *lpVtbl;
  589.     };
  590.     
  591. #ifdef COBJMACROS
  592. #define IAMResourceControl_QueryInterface(This,riid,ppvObject)
  593.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  594. #define IAMResourceControl_AddRef(This)
  595.     (This)->lpVtbl -> AddRef(This)
  596. #define IAMResourceControl_Release(This)
  597.     (This)->lpVtbl -> Release(This)
  598. #define IAMResourceControl_Reserve(This,dwFlags,pvReserved)
  599.     (This)->lpVtbl -> Reserve(This,dwFlags,pvReserved)
  600. #endif /* COBJMACROS */
  601. #endif  /* C style interface */
  602. HRESULT STDMETHODCALLTYPE IAMResourceControl_Reserve_Proxy( 
  603.     IAMResourceControl * This,
  604.     /* [in] */ DWORD dwFlags,
  605.     /* [in] */ PVOID pvReserved);
  606. void __RPC_STUB IAMResourceControl_Reserve_Stub(
  607.     IRpcStubBuffer *This,
  608.     IRpcChannelBuffer *_pRpcChannelBuffer,
  609.     PRPC_MESSAGE _pRpcMessage,
  610.     DWORD *_pdwStubPhase);
  611. #endif  /* __IAMResourceControl_INTERFACE_DEFINED__ */
  612. #ifndef __IAMClockAdjust_INTERFACE_DEFINED__
  613. #define __IAMClockAdjust_INTERFACE_DEFINED__
  614. /* interface IAMClockAdjust */
  615. /* [local][unique][uuid][object] */ 
  616. EXTERN_C const IID IID_IAMClockAdjust;
  617. #if defined(__cplusplus) && !defined(CINTERFACE)
  618.     
  619.     MIDL_INTERFACE("4d5466b0-a49c-11d1-abe8-00a0c905f375")
  620.     IAMClockAdjust : public IUnknown
  621.     {
  622.     public:
  623.         virtual HRESULT STDMETHODCALLTYPE SetClockDelta( 
  624.             /* [in] */ REFERENCE_TIME rtDelta) = 0;
  625.         
  626.     };
  627.     
  628. #else  /* C style interface */
  629.     typedef struct IAMClockAdjustVtbl
  630.     {
  631.         BEGIN_INTERFACE
  632.         
  633.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  634.             IAMClockAdjust * This,
  635.             /* [in] */ REFIID riid,
  636.             /* [iid_is][out] */ void **ppvObject);
  637.         
  638.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  639.             IAMClockAdjust * This);
  640.         
  641.         ULONG ( STDMETHODCALLTYPE *Release )( 
  642.             IAMClockAdjust * This);
  643.         
  644.         HRESULT ( STDMETHODCALLTYPE *SetClockDelta )( 
  645.             IAMClockAdjust * This,
  646.             /* [in] */ REFERENCE_TIME rtDelta);
  647.         
  648.         END_INTERFACE
  649.     } IAMClockAdjustVtbl;
  650.     interface IAMClockAdjust
  651.     {
  652.         CONST_VTBL struct IAMClockAdjustVtbl *lpVtbl;
  653.     };
  654.     
  655. #ifdef COBJMACROS
  656. #define IAMClockAdjust_QueryInterface(This,riid,ppvObject)
  657.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  658. #define IAMClockAdjust_AddRef(This)
  659.     (This)->lpVtbl -> AddRef(This)
  660. #define IAMClockAdjust_Release(This)
  661.     (This)->lpVtbl -> Release(This)
  662. #define IAMClockAdjust_SetClockDelta(This,rtDelta)
  663.     (This)->lpVtbl -> SetClockDelta(This,rtDelta)
  664. #endif /* COBJMACROS */
  665. #endif  /* C style interface */
  666. HRESULT STDMETHODCALLTYPE IAMClockAdjust_SetClockDelta_Proxy( 
  667.     IAMClockAdjust * This,
  668.     /* [in] */ REFERENCE_TIME rtDelta);
  669. void __RPC_STUB IAMClockAdjust_SetClockDelta_Stub(
  670.     IRpcStubBuffer *This,
  671.     IRpcChannelBuffer *_pRpcChannelBuffer,
  672.     PRPC_MESSAGE _pRpcMessage,
  673.     DWORD *_pdwStubPhase);
  674. #endif  /* __IAMClockAdjust_INTERFACE_DEFINED__ */
  675. /* interface __MIDL_itf_strmif_0337 */
  676. /* [local] */ 
  677. enum _AM_FILTER_MISC_FLAGS
  678.     { AM_FILTER_MISC_FLAGS_IS_RENDERER = 0x1,
  679. AM_FILTER_MISC_FLAGS_IS_SOURCE = 0x2
  680.     } ;
  681. extern RPC_IF_HANDLE __MIDL_itf_strmif_0337_v0_0_c_ifspec;
  682. extern RPC_IF_HANDLE __MIDL_itf_strmif_0337_v0_0_s_ifspec;
  683. #ifndef __IAMFilterMiscFlags_INTERFACE_DEFINED__
  684. #define __IAMFilterMiscFlags_INTERFACE_DEFINED__
  685. /* interface IAMFilterMiscFlags */
  686. /* [local][unique][uuid][object] */ 
  687. EXTERN_C const IID IID_IAMFilterMiscFlags;
  688. #if defined(__cplusplus) && !defined(CINTERFACE)
  689.     
  690.     MIDL_INTERFACE("2dd74950-a890-11d1-abe8-00a0c905f375")
  691.     IAMFilterMiscFlags : public IUnknown
  692.     {
  693.     public:
  694.         virtual ULONG STDMETHODCALLTYPE GetMiscFlags( void) = 0;
  695.         
  696.     };
  697.     
  698. #else  /* C style interface */
  699.     typedef struct IAMFilterMiscFlagsVtbl
  700.     {
  701.         BEGIN_INTERFACE
  702.         
  703.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  704.             IAMFilterMiscFlags * This,
  705.             /* [in] */ REFIID riid,
  706.             /* [iid_is][out] */ void **ppvObject);
  707.         
  708.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  709.             IAMFilterMiscFlags * This);
  710.         
  711.         ULONG ( STDMETHODCALLTYPE *Release )( 
  712.             IAMFilterMiscFlags * This);
  713.         
  714.         ULONG ( STDMETHODCALLTYPE *GetMiscFlags )( 
  715.             IAMFilterMiscFlags * This);
  716.         
  717.         END_INTERFACE
  718.     } IAMFilterMiscFlagsVtbl;
  719.     interface IAMFilterMiscFlags
  720.     {
  721.         CONST_VTBL struct IAMFilterMiscFlagsVtbl *lpVtbl;
  722.     };
  723.     
  724. #ifdef COBJMACROS
  725. #define IAMFilterMiscFlags_QueryInterface(This,riid,ppvObject)
  726.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  727. #define IAMFilterMiscFlags_AddRef(This)
  728.     (This)->lpVtbl -> AddRef(This)
  729. #define IAMFilterMiscFlags_Release(This)
  730.     (This)->lpVtbl -> Release(This)
  731. #define IAMFilterMiscFlags_GetMiscFlags(This)
  732.     (This)->lpVtbl -> GetMiscFlags(This)
  733. #endif /* COBJMACROS */
  734. #endif  /* C style interface */
  735. ULONG STDMETHODCALLTYPE IAMFilterMiscFlags_GetMiscFlags_Proxy( 
  736.     IAMFilterMiscFlags * This);
  737. void __RPC_STUB IAMFilterMiscFlags_GetMiscFlags_Stub(
  738.     IRpcStubBuffer *This,
  739.     IRpcChannelBuffer *_pRpcChannelBuffer,
  740.     PRPC_MESSAGE _pRpcMessage,
  741.     DWORD *_pdwStubPhase);
  742. #endif  /* __IAMFilterMiscFlags_INTERFACE_DEFINED__ */
  743. #ifndef __IDrawVideoImage_INTERFACE_DEFINED__
  744. #define __IDrawVideoImage_INTERFACE_DEFINED__
  745. /* interface IDrawVideoImage */
  746. /* [unique][uuid][local][object] */ 
  747. EXTERN_C const IID IID_IDrawVideoImage;
  748. #if defined(__cplusplus) && !defined(CINTERFACE)
  749.     
  750.     MIDL_INTERFACE("48efb120-ab49-11d2-aed2-00a0c995e8d5")
  751.     IDrawVideoImage : public IUnknown
  752.     {
  753.     public:
  754.         virtual HRESULT STDMETHODCALLTYPE DrawVideoImageBegin( void) = 0;
  755.         
  756.         virtual HRESULT STDMETHODCALLTYPE DrawVideoImageEnd( void) = 0;
  757.         
  758.         virtual HRESULT STDMETHODCALLTYPE DrawVideoImageDraw( 
  759.             /* [in] */ HDC hdc,
  760.             /* [in] */ LPRECT lprcSrc,
  761.             /* [in] */ LPRECT lprcDst) = 0;
  762.         
  763.     };
  764.     
  765. #else  /* C style interface */
  766.     typedef struct IDrawVideoImageVtbl
  767.     {
  768.         BEGIN_INTERFACE
  769.         
  770.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  771.             IDrawVideoImage * This,
  772.             /* [in] */ REFIID riid,
  773.             /* [iid_is][out] */ void **ppvObject);
  774.         
  775.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  776.             IDrawVideoImage * This);
  777.         
  778.         ULONG ( STDMETHODCALLTYPE *Release )( 
  779.             IDrawVideoImage * This);
  780.         
  781.         HRESULT ( STDMETHODCALLTYPE *DrawVideoImageBegin )( 
  782.             IDrawVideoImage * This);
  783.         
  784.         HRESULT ( STDMETHODCALLTYPE *DrawVideoImageEnd )( 
  785.             IDrawVideoImage * This);
  786.         
  787.         HRESULT ( STDMETHODCALLTYPE *DrawVideoImageDraw )( 
  788.             IDrawVideoImage * This,
  789.             /* [in] */ HDC hdc,
  790.             /* [in] */ LPRECT lprcSrc,
  791.             /* [in] */ LPRECT lprcDst);
  792.         
  793.         END_INTERFACE
  794.     } IDrawVideoImageVtbl;
  795.     interface IDrawVideoImage
  796.     {
  797.         CONST_VTBL struct IDrawVideoImageVtbl *lpVtbl;
  798.     };
  799.     
  800. #ifdef COBJMACROS
  801. #define IDrawVideoImage_QueryInterface(This,riid,ppvObject)
  802.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  803. #define IDrawVideoImage_AddRef(This)
  804.     (This)->lpVtbl -> AddRef(This)
  805. #define IDrawVideoImage_Release(This)
  806.     (This)->lpVtbl -> Release(This)
  807. #define IDrawVideoImage_DrawVideoImageBegin(This)
  808.     (This)->lpVtbl -> DrawVideoImageBegin(This)
  809. #define IDrawVideoImage_DrawVideoImageEnd(This)
  810.     (This)->lpVtbl -> DrawVideoImageEnd(This)
  811. #define IDrawVideoImage_DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst)
  812.     (This)->lpVtbl -> DrawVideoImageDraw(This,hdc,lprcSrc,lprcDst)
  813. #endif /* COBJMACROS */
  814. #endif  /* C style interface */
  815. HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageBegin_Proxy( 
  816.     IDrawVideoImage * This);
  817. void __RPC_STUB IDrawVideoImage_DrawVideoImageBegin_Stub(
  818.     IRpcStubBuffer *This,
  819.     IRpcChannelBuffer *_pRpcChannelBuffer,
  820.     PRPC_MESSAGE _pRpcMessage,
  821.     DWORD *_pdwStubPhase);
  822. HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageEnd_Proxy( 
  823.     IDrawVideoImage * This);
  824. void __RPC_STUB IDrawVideoImage_DrawVideoImageEnd_Stub(
  825.     IRpcStubBuffer *This,
  826.     IRpcChannelBuffer *_pRpcChannelBuffer,
  827.     PRPC_MESSAGE _pRpcMessage,
  828.     DWORD *_pdwStubPhase);
  829. HRESULT STDMETHODCALLTYPE IDrawVideoImage_DrawVideoImageDraw_Proxy( 
  830.     IDrawVideoImage * This,
  831.     /* [in] */ HDC hdc,
  832.     /* [in] */ LPRECT lprcSrc,
  833.     /* [in] */ LPRECT lprcDst);
  834. void __RPC_STUB IDrawVideoImage_DrawVideoImageDraw_Stub(
  835.     IRpcStubBuffer *This,
  836.     IRpcChannelBuffer *_pRpcChannelBuffer,
  837.     PRPC_MESSAGE _pRpcMessage,
  838.     DWORD *_pdwStubPhase);
  839. #endif  /* __IDrawVideoImage_INTERFACE_DEFINED__ */
  840. #ifndef __IDecimateVideoImage_INTERFACE_DEFINED__
  841. #define __IDecimateVideoImage_INTERFACE_DEFINED__
  842. /* interface IDecimateVideoImage */
  843. /* [unique][uuid][local][object] */ 
  844. EXTERN_C const IID IID_IDecimateVideoImage;
  845. #if defined(__cplusplus) && !defined(CINTERFACE)
  846.     
  847.     MIDL_INTERFACE("2e5ea3e0-e924-11d2-b6da-00a0c995e8df")
  848.     IDecimateVideoImage : public IUnknown
  849.     {
  850.     public:
  851.         virtual HRESULT STDMETHODCALLTYPE SetDecimationImageSize( 
  852.             /* [in] */ long lWidth,
  853.             /* [in] */ long lHeight) = 0;
  854.         
  855.         virtual HRESULT STDMETHODCALLTYPE ResetDecimationImageSize( void) = 0;
  856.         
  857.     };
  858.     
  859. #else  /* C style interface */
  860.     typedef struct IDecimateVideoImageVtbl
  861.     {
  862.         BEGIN_INTERFACE
  863.         
  864.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  865.             IDecimateVideoImage * This,
  866.             /* [in] */ REFIID riid,
  867.             /* [iid_is][out] */ void **ppvObject);
  868.         
  869.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  870.             IDecimateVideoImage * This);
  871.         
  872.         ULONG ( STDMETHODCALLTYPE *Release )( 
  873.             IDecimateVideoImage * This);
  874.         
  875.         HRESULT ( STDMETHODCALLTYPE *SetDecimationImageSize )( 
  876.             IDecimateVideoImage * This,
  877.             /* [in] */ long lWidth,
  878.             /* [in] */ long lHeight);
  879.         
  880.         HRESULT ( STDMETHODCALLTYPE *ResetDecimationImageSize )( 
  881.             IDecimateVideoImage * This);
  882.         
  883.         END_INTERFACE
  884.     } IDecimateVideoImageVtbl;
  885.     interface IDecimateVideoImage
  886.     {
  887.         CONST_VTBL struct IDecimateVideoImageVtbl *lpVtbl;
  888.     };
  889.     
  890. #ifdef COBJMACROS
  891. #define IDecimateVideoImage_QueryInterface(This,riid,ppvObject)
  892.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  893. #define IDecimateVideoImage_AddRef(This)
  894.     (This)->lpVtbl -> AddRef(This)
  895. #define IDecimateVideoImage_Release(This)
  896.     (This)->lpVtbl -> Release(This)
  897. #define IDecimateVideoImage_SetDecimationImageSize(This,lWidth,lHeight)
  898.     (This)->lpVtbl -> SetDecimationImageSize(This,lWidth,lHeight)
  899. #define IDecimateVideoImage_ResetDecimationImageSize(This)
  900.     (This)->lpVtbl -> ResetDecimationImageSize(This)
  901. #endif /* COBJMACROS */
  902. #endif  /* C style interface */
  903. HRESULT STDMETHODCALLTYPE IDecimateVideoImage_SetDecimationImageSize_Proxy( 
  904.     IDecimateVideoImage * This,
  905.     /* [in] */ long lWidth,
  906.     /* [in] */ long lHeight);
  907. void __RPC_STUB IDecimateVideoImage_SetDecimationImageSize_Stub(
  908.     IRpcStubBuffer *This,
  909.     IRpcChannelBuffer *_pRpcChannelBuffer,
  910.     PRPC_MESSAGE _pRpcMessage,
  911.     DWORD *_pdwStubPhase);
  912. HRESULT STDMETHODCALLTYPE IDecimateVideoImage_ResetDecimationImageSize_Proxy( 
  913.     IDecimateVideoImage * This);
  914. void __RPC_STUB IDecimateVideoImage_ResetDecimationImageSize_Stub(
  915.     IRpcStubBuffer *This,
  916.     IRpcChannelBuffer *_pRpcChannelBuffer,
  917.     PRPC_MESSAGE _pRpcMessage,
  918.     DWORD *_pdwStubPhase);
  919. #endif  /* __IDecimateVideoImage_INTERFACE_DEFINED__ */
  920. /* interface __MIDL_itf_strmif_0340 */
  921. /* [local] */ 
  922. typedef 
  923. enum _DECIMATION_USAGE
  924.     { DECIMATION_LEGACY = 0,
  925. DECIMATION_USE_DECODER_ONLY = DECIMATION_LEGACY + 1,
  926. DECIMATION_USE_VIDEOPORT_ONLY = DECIMATION_USE_DECODER_ONLY + 1,
  927. DECIMATION_USE_OVERLAY_ONLY = DECIMATION_USE_VIDEOPORT_ONLY + 1,
  928. DECIMATION_DEFAULT = DECIMATION_USE_OVERLAY_ONLY + 1
  929.     }  DECIMATION_USAGE;
  930. extern RPC_IF_HANDLE __MIDL_itf_strmif_0340_v0_0_c_ifspec;
  931. extern RPC_IF_HANDLE __MIDL_itf_strmif_0340_v0_0_s_ifspec;
  932. #ifndef __IAMVideoDecimationProperties_INTERFACE_DEFINED__
  933. #define __IAMVideoDecimationProperties_INTERFACE_DEFINED__
  934. /* interface IAMVideoDecimationProperties */
  935. /* [unique][uuid][local][object] */ 
  936. EXTERN_C const IID IID_IAMVideoDecimationProperties;
  937. #if defined(__cplusplus) && !defined(CINTERFACE)
  938.     
  939.     MIDL_INTERFACE("60d32930-13da-11d3-9ec6-c4fcaef5c7be")
  940.     IAMVideoDecimationProperties : public IUnknown
  941.     {
  942.     public:
  943.         virtual HRESULT STDMETHODCALLTYPE QueryDecimationUsage( 
  944.             /* [out] */ DECIMATION_USAGE *lpUsage) = 0;
  945.         
  946.         virtual HRESULT STDMETHODCALLTYPE SetDecimationUsage( 
  947.             /* [in] */ DECIMATION_USAGE Usage) = 0;
  948.         
  949.     };
  950.     
  951. #else  /* C style interface */
  952.     typedef struct IAMVideoDecimationPropertiesVtbl
  953.     {
  954.         BEGIN_INTERFACE
  955.         
  956.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  957.             IAMVideoDecimationProperties * This,
  958.             /* [in] */ REFIID riid,
  959.             /* [iid_is][out] */ void **ppvObject);
  960.         
  961.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  962.             IAMVideoDecimationProperties * This);
  963.         
  964.         ULONG ( STDMETHODCALLTYPE *Release )( 
  965.             IAMVideoDecimationProperties * This);
  966.         
  967.         HRESULT ( STDMETHODCALLTYPE *QueryDecimationUsage )( 
  968.             IAMVideoDecimationProperties * This,
  969.             /* [out] */ DECIMATION_USAGE *lpUsage);
  970.         
  971.         HRESULT ( STDMETHODCALLTYPE *SetDecimationUsage )( 
  972.             IAMVideoDecimationProperties * This,
  973.             /* [in] */ DECIMATION_USAGE Usage);
  974.         
  975.         END_INTERFACE
  976.     } IAMVideoDecimationPropertiesVtbl;
  977.     interface IAMVideoDecimationProperties
  978.     {
  979.         CONST_VTBL struct IAMVideoDecimationPropertiesVtbl *lpVtbl;
  980.     };
  981.     
  982. #ifdef COBJMACROS
  983. #define IAMVideoDecimationProperties_QueryInterface(This,riid,ppvObject)
  984.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  985. #define IAMVideoDecimationProperties_AddRef(This)
  986.     (This)->lpVtbl -> AddRef(This)
  987. #define IAMVideoDecimationProperties_Release(This)
  988.     (This)->lpVtbl -> Release(This)
  989. #define IAMVideoDecimationProperties_QueryDecimationUsage(This,lpUsage)
  990.     (This)->lpVtbl -> QueryDecimationUsage(This,lpUsage)
  991. #define IAMVideoDecimationProperties_SetDecimationUsage(This,Usage)
  992.     (This)->lpVtbl -> SetDecimationUsage(This,Usage)
  993. #endif /* COBJMACROS */
  994. #endif  /* C style interface */
  995. HRESULT STDMETHODCALLTYPE IAMVideoDecimationProperties_QueryDecimationUsage_Proxy( 
  996.     IAMVideoDecimationProperties * This,
  997.     /* [out] */ DECIMATION_USAGE *lpUsage);
  998. void __RPC_STUB IAMVideoDecimationProperties_QueryDecimationUsage_Stub(
  999.     IRpcStubBuffer *This,
  1000.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1001.     PRPC_MESSAGE _pRpcMessage,
  1002.     DWORD *_pdwStubPhase);
  1003. HRESULT STDMETHODCALLTYPE IAMVideoDecimationProperties_SetDecimationUsage_Proxy( 
  1004.     IAMVideoDecimationProperties * This,
  1005.     /* [in] */ DECIMATION_USAGE Usage);
  1006. void __RPC_STUB IAMVideoDecimationProperties_SetDecimationUsage_Stub(
  1007.     IRpcStubBuffer *This,
  1008.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1009.     PRPC_MESSAGE _pRpcMessage,
  1010.     DWORD *_pdwStubPhase);
  1011. #endif  /* __IAMVideoDecimationProperties_INTERFACE_DEFINED__ */
  1012. #ifndef __IVideoFrameStep_INTERFACE_DEFINED__
  1013. #define __IVideoFrameStep_INTERFACE_DEFINED__
  1014. /* interface IVideoFrameStep */
  1015. /* [unique][uuid][object] */ 
  1016. EXTERN_C const IID IID_IVideoFrameStep;
  1017. #if defined(__cplusplus) && !defined(CINTERFACE)
  1018.     
  1019.     MIDL_INTERFACE("e46a9787-2b71-444d-a4b5-1fab7b708d6a")
  1020.     IVideoFrameStep : public IUnknown
  1021.     {
  1022.     public:
  1023.         virtual HRESULT STDMETHODCALLTYPE Step( 
  1024.             DWORD dwFrames,
  1025.             /* [unique] */ IUnknown *pStepObject) = 0;
  1026.         
  1027.         virtual HRESULT STDMETHODCALLTYPE CanStep( 
  1028.             long bMultiple,
  1029.             /* [unique] */ IUnknown *pStepObject) = 0;
  1030.         
  1031.         virtual HRESULT STDMETHODCALLTYPE CancelStep( void) = 0;
  1032.         
  1033.     };
  1034.     
  1035. #else  /* C style interface */
  1036.     typedef struct IVideoFrameStepVtbl
  1037.     {
  1038.         BEGIN_INTERFACE
  1039.         
  1040.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1041.             IVideoFrameStep * This,
  1042.             /* [in] */ REFIID riid,
  1043.             /* [iid_is][out] */ void **ppvObject);
  1044.         
  1045.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1046.             IVideoFrameStep * This);
  1047.         
  1048.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1049.             IVideoFrameStep * This);
  1050.         
  1051.         HRESULT ( STDMETHODCALLTYPE *Step )( 
  1052.             IVideoFrameStep * This,
  1053.             DWORD dwFrames,
  1054.             /* [unique] */ IUnknown *pStepObject);
  1055.         
  1056.         HRESULT ( STDMETHODCALLTYPE *CanStep )( 
  1057.             IVideoFrameStep * This,
  1058.             long bMultiple,
  1059.             /* [unique] */ IUnknown *pStepObject);
  1060.         
  1061.         HRESULT ( STDMETHODCALLTYPE *CancelStep )( 
  1062.             IVideoFrameStep * This);
  1063.         
  1064.         END_INTERFACE
  1065.     } IVideoFrameStepVtbl;
  1066.     interface IVideoFrameStep
  1067.     {
  1068.         CONST_VTBL struct IVideoFrameStepVtbl *lpVtbl;
  1069.     };
  1070.     
  1071. #ifdef COBJMACROS
  1072. #define IVideoFrameStep_QueryInterface(This,riid,ppvObject)
  1073.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1074. #define IVideoFrameStep_AddRef(This)
  1075.     (This)->lpVtbl -> AddRef(This)
  1076. #define IVideoFrameStep_Release(This)
  1077.     (This)->lpVtbl -> Release(This)
  1078. #define IVideoFrameStep_Step(This,dwFrames,pStepObject)
  1079.     (This)->lpVtbl -> Step(This,dwFrames,pStepObject)
  1080. #define IVideoFrameStep_CanStep(This,bMultiple,pStepObject)
  1081.     (This)->lpVtbl -> CanStep(This,bMultiple,pStepObject)
  1082. #define IVideoFrameStep_CancelStep(This)
  1083.     (This)->lpVtbl -> CancelStep(This)
  1084. #endif /* COBJMACROS */
  1085. #endif  /* C style interface */
  1086. HRESULT STDMETHODCALLTYPE IVideoFrameStep_Step_Proxy( 
  1087.     IVideoFrameStep * This,
  1088.     DWORD dwFrames,
  1089.     /* [unique] */ IUnknown *pStepObject);
  1090. void __RPC_STUB IVideoFrameStep_Step_Stub(
  1091.     IRpcStubBuffer *This,
  1092.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1093.     PRPC_MESSAGE _pRpcMessage,
  1094.     DWORD *_pdwStubPhase);
  1095. HRESULT STDMETHODCALLTYPE IVideoFrameStep_CanStep_Proxy( 
  1096.     IVideoFrameStep * This,
  1097.     long bMultiple,
  1098.     /* [unique] */ IUnknown *pStepObject);
  1099. void __RPC_STUB IVideoFrameStep_CanStep_Stub(
  1100.     IRpcStubBuffer *This,
  1101.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1102.     PRPC_MESSAGE _pRpcMessage,
  1103.     DWORD *_pdwStubPhase);
  1104. HRESULT STDMETHODCALLTYPE IVideoFrameStep_CancelStep_Proxy( 
  1105.     IVideoFrameStep * This);
  1106. void __RPC_STUB IVideoFrameStep_CancelStep_Stub(
  1107.     IRpcStubBuffer *This,
  1108.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1109.     PRPC_MESSAGE _pRpcMessage,
  1110.     DWORD *_pdwStubPhase);
  1111. #endif  /* __IVideoFrameStep_INTERFACE_DEFINED__ */
  1112. /* interface __MIDL_itf_strmif_0342 */
  1113. /* [local] */ 
  1114. enum _AM_PUSHSOURCE_FLAGS
  1115.     { AM_PUSHSOURCECAPS_INTERNAL_RM = 0x1,
  1116. AM_PUSHSOURCECAPS_NOT_LIVE = 0x2,
  1117. AM_PUSHSOURCECAPS_PRIVATE_CLOCK = 0x4,
  1118. AM_PUSHSOURCEREQS_USE_STREAM_CLOCK = 0x10000
  1119.     } ;
  1120. extern RPC_IF_HANDLE __MIDL_itf_strmif_0342_v0_0_c_ifspec;
  1121. extern RPC_IF_HANDLE __MIDL_itf_strmif_0342_v0_0_s_ifspec;
  1122. #ifndef __IAMLatency_INTERFACE_DEFINED__
  1123. #define __IAMLatency_INTERFACE_DEFINED__
  1124. /* interface IAMLatency */
  1125. /* [unique][uuid][object] */ 
  1126. EXTERN_C const IID IID_IAMLatency;
  1127. #if defined(__cplusplus) && !defined(CINTERFACE)
  1128.     
  1129.     MIDL_INTERFACE("62EA93BA-EC62-11d2-B770-00C04FB6BD3D")
  1130.     IAMLatency : public IUnknown
  1131.     {
  1132.     public:
  1133.         virtual HRESULT STDMETHODCALLTYPE GetLatency( 
  1134.             /* [in] */ REFERENCE_TIME *prtLatency) = 0;
  1135.         
  1136.     };
  1137.     
  1138. #else  /* C style interface */
  1139.     typedef struct IAMLatencyVtbl
  1140.     {
  1141.         BEGIN_INTERFACE
  1142.         
  1143.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1144.             IAMLatency * This,
  1145.             /* [in] */ REFIID riid,
  1146.             /* [iid_is][out] */ void **ppvObject);
  1147.         
  1148.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1149.             IAMLatency * This);
  1150.         
  1151.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1152.             IAMLatency * This);
  1153.         
  1154.         HRESULT ( STDMETHODCALLTYPE *GetLatency )( 
  1155.             IAMLatency * This,
  1156.             /* [in] */ REFERENCE_TIME *prtLatency);
  1157.         
  1158.         END_INTERFACE
  1159.     } IAMLatencyVtbl;
  1160.     interface IAMLatency
  1161.     {
  1162.         CONST_VTBL struct IAMLatencyVtbl *lpVtbl;
  1163.     };
  1164.     
  1165. #ifdef COBJMACROS
  1166. #define IAMLatency_QueryInterface(This,riid,ppvObject)
  1167.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1168. #define IAMLatency_AddRef(This)
  1169.     (This)->lpVtbl -> AddRef(This)
  1170. #define IAMLatency_Release(This)
  1171.     (This)->lpVtbl -> Release(This)
  1172. #define IAMLatency_GetLatency(This,prtLatency)
  1173.     (This)->lpVtbl -> GetLatency(This,prtLatency)
  1174. #endif /* COBJMACROS */
  1175. #endif  /* C style interface */
  1176. HRESULT STDMETHODCALLTYPE IAMLatency_GetLatency_Proxy( 
  1177.     IAMLatency * This,
  1178.     /* [in] */ REFERENCE_TIME *prtLatency);
  1179. void __RPC_STUB IAMLatency_GetLatency_Stub(
  1180.     IRpcStubBuffer *This,
  1181.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1182.     PRPC_MESSAGE _pRpcMessage,
  1183.     DWORD *_pdwStubPhase);
  1184. #endif  /* __IAMLatency_INTERFACE_DEFINED__ */
  1185. #ifndef __IAMPushSource_INTERFACE_DEFINED__
  1186. #define __IAMPushSource_INTERFACE_DEFINED__
  1187. /* interface IAMPushSource */
  1188. /* [unique][uuid][object] */ 
  1189. EXTERN_C const IID IID_IAMPushSource;
  1190. #if defined(__cplusplus) && !defined(CINTERFACE)
  1191.     
  1192.     MIDL_INTERFACE("F185FE76-E64E-11d2-B76E-00C04FB6BD3D")
  1193.     IAMPushSource : public IAMLatency
  1194.     {
  1195.     public:
  1196.         virtual HRESULT STDMETHODCALLTYPE GetPushSourceFlags( 
  1197.             /* [out] */ ULONG *pFlags) = 0;
  1198.         
  1199.         virtual HRESULT STDMETHODCALLTYPE SetPushSourceFlags( 
  1200.             /* [in] */ ULONG Flags) = 0;
  1201.         
  1202.         virtual HRESULT STDMETHODCALLTYPE SetStreamOffset( 
  1203.             /* [in] */ REFERENCE_TIME rtOffset) = 0;
  1204.         
  1205.         virtual HRESULT STDMETHODCALLTYPE GetStreamOffset( 
  1206.             /* [out] */ REFERENCE_TIME *prtOffset) = 0;
  1207.         
  1208.         virtual HRESULT STDMETHODCALLTYPE GetMaxStreamOffset( 
  1209.             /* [out] */ REFERENCE_TIME *prtMaxOffset) = 0;
  1210.         
  1211.         virtual HRESULT STDMETHODCALLTYPE SetMaxStreamOffset( 
  1212.             /* [in] */ REFERENCE_TIME rtMaxOffset) = 0;
  1213.         
  1214.     };
  1215.     
  1216. #else  /* C style interface */
  1217.     typedef struct IAMPushSourceVtbl
  1218.     {
  1219.         BEGIN_INTERFACE
  1220.         
  1221.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1222.             IAMPushSource * This,
  1223.             /* [in] */ REFIID riid,
  1224.             /* [iid_is][out] */ void **ppvObject);
  1225.         
  1226.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1227.             IAMPushSource * This);
  1228.         
  1229.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1230.             IAMPushSource * This);
  1231.         
  1232.         HRESULT ( STDMETHODCALLTYPE *GetLatency )( 
  1233.             IAMPushSource * This,
  1234.             /* [in] */ REFERENCE_TIME *prtLatency);
  1235.         
  1236.         HRESULT ( STDMETHODCALLTYPE *GetPushSourceFlags )( 
  1237.             IAMPushSource * This,
  1238.             /* [out] */ ULONG *pFlags);
  1239.         
  1240.         HRESULT ( STDMETHODCALLTYPE *SetPushSourceFlags )( 
  1241.             IAMPushSource * This,
  1242.             /* [in] */ ULONG Flags);
  1243.         
  1244.         HRESULT ( STDMETHODCALLTYPE *SetStreamOffset )( 
  1245.             IAMPushSource * This,
  1246.             /* [in] */ REFERENCE_TIME rtOffset);
  1247.         
  1248.         HRESULT ( STDMETHODCALLTYPE *GetStreamOffset )( 
  1249.             IAMPushSource * This,
  1250.             /* [out] */ REFERENCE_TIME *prtOffset);
  1251.         
  1252.         HRESULT ( STDMETHODCALLTYPE *GetMaxStreamOffset )( 
  1253.             IAMPushSource * This,
  1254.             /* [out] */ REFERENCE_TIME *prtMaxOffset);
  1255.         
  1256.         HRESULT ( STDMETHODCALLTYPE *SetMaxStreamOffset )( 
  1257.             IAMPushSource * This,
  1258.             /* [in] */ REFERENCE_TIME rtMaxOffset);
  1259.         
  1260.         END_INTERFACE
  1261.     } IAMPushSourceVtbl;
  1262.     interface IAMPushSource
  1263.     {
  1264.         CONST_VTBL struct IAMPushSourceVtbl *lpVtbl;
  1265.     };
  1266.     
  1267. #ifdef COBJMACROS
  1268. #define IAMPushSource_QueryInterface(This,riid,ppvObject)
  1269.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1270. #define IAMPushSource_AddRef(This)
  1271.     (This)->lpVtbl -> AddRef(This)
  1272. #define IAMPushSource_Release(This)
  1273.     (This)->lpVtbl -> Release(This)
  1274. #define IAMPushSource_GetLatency(This,prtLatency)
  1275.     (This)->lpVtbl -> GetLatency(This,prtLatency)
  1276. #define IAMPushSource_GetPushSourceFlags(This,pFlags)
  1277.     (This)->lpVtbl -> GetPushSourceFlags(This,pFlags)
  1278. #define IAMPushSource_SetPushSourceFlags(This,Flags)
  1279.     (This)->lpVtbl -> SetPushSourceFlags(This,Flags)
  1280. #define IAMPushSource_SetStreamOffset(This,rtOffset)
  1281.     (This)->lpVtbl -> SetStreamOffset(This,rtOffset)
  1282. #define IAMPushSource_GetStreamOffset(This,prtOffset)
  1283.     (This)->lpVtbl -> GetStreamOffset(This,prtOffset)
  1284. #define IAMPushSource_GetMaxStreamOffset(This,prtMaxOffset)
  1285.     (This)->lpVtbl -> GetMaxStreamOffset(This,prtMaxOffset)
  1286. #define IAMPushSource_SetMaxStreamOffset(This,rtMaxOffset)
  1287.     (This)->lpVtbl -> SetMaxStreamOffset(This,rtMaxOffset)
  1288. #endif /* COBJMACROS */
  1289. #endif  /* C style interface */
  1290. HRESULT STDMETHODCALLTYPE IAMPushSource_GetPushSourceFlags_Proxy( 
  1291.     IAMPushSource * This,
  1292.     /* [out] */ ULONG *pFlags);
  1293. void __RPC_STUB IAMPushSource_GetPushSourceFlags_Stub(
  1294.     IRpcStubBuffer *This,
  1295.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1296.     PRPC_MESSAGE _pRpcMessage,
  1297.     DWORD *_pdwStubPhase);
  1298. HRESULT STDMETHODCALLTYPE IAMPushSource_SetPushSourceFlags_Proxy( 
  1299.     IAMPushSource * This,
  1300.     /* [in] */ ULONG Flags);
  1301. void __RPC_STUB IAMPushSource_SetPushSourceFlags_Stub(
  1302.     IRpcStubBuffer *This,
  1303.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1304.     PRPC_MESSAGE _pRpcMessage,
  1305.     DWORD *_pdwStubPhase);
  1306. HRESULT STDMETHODCALLTYPE IAMPushSource_SetStreamOffset_Proxy( 
  1307.     IAMPushSource * This,
  1308.     /* [in] */ REFERENCE_TIME rtOffset);
  1309. void __RPC_STUB IAMPushSource_SetStreamOffset_Stub(
  1310.     IRpcStubBuffer *This,
  1311.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1312.     PRPC_MESSAGE _pRpcMessage,
  1313.     DWORD *_pdwStubPhase);
  1314. HRESULT STDMETHODCALLTYPE IAMPushSource_GetStreamOffset_Proxy( 
  1315.     IAMPushSource * This,
  1316.     /* [out] */ REFERENCE_TIME *prtOffset);
  1317. void __RPC_STUB IAMPushSource_GetStreamOffset_Stub(
  1318.     IRpcStubBuffer *This,
  1319.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1320.     PRPC_MESSAGE _pRpcMessage,
  1321.     DWORD *_pdwStubPhase);
  1322. HRESULT STDMETHODCALLTYPE IAMPushSource_GetMaxStreamOffset_Proxy( 
  1323.     IAMPushSource * This,
  1324.     /* [out] */ REFERENCE_TIME *prtMaxOffset);
  1325. void __RPC_STUB IAMPushSource_GetMaxStreamOffset_Stub(
  1326.     IRpcStubBuffer *This,
  1327.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1328.     PRPC_MESSAGE _pRpcMessage,
  1329.     DWORD *_pdwStubPhase);
  1330. HRESULT STDMETHODCALLTYPE IAMPushSource_SetMaxStreamOffset_Proxy( 
  1331.     IAMPushSource * This,
  1332.     /* [in] */ REFERENCE_TIME rtMaxOffset);
  1333. void __RPC_STUB IAMPushSource_SetMaxStreamOffset_Stub(
  1334.     IRpcStubBuffer *This,
  1335.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1336.     PRPC_MESSAGE _pRpcMessage,
  1337.     DWORD *_pdwStubPhase);
  1338. #endif  /* __IAMPushSource_INTERFACE_DEFINED__ */
  1339. #ifndef __IAMDeviceRemoval_INTERFACE_DEFINED__
  1340. #define __IAMDeviceRemoval_INTERFACE_DEFINED__
  1341. /* interface IAMDeviceRemoval */
  1342. /* [unique][uuid][object] */ 
  1343. EXTERN_C const IID IID_IAMDeviceRemoval;
  1344. #if defined(__cplusplus) && !defined(CINTERFACE)
  1345.     
  1346.     MIDL_INTERFACE("f90a6130-b658-11d2-ae49-0000f8754b99")
  1347.     IAMDeviceRemoval : public IUnknown
  1348.     {
  1349.     public:
  1350.         virtual HRESULT STDMETHODCALLTYPE DeviceInfo( 
  1351.             /* [out] */ CLSID *pclsidInterfaceClass,
  1352.             /* [out] */ WCHAR **pwszSymbolicLink) = 0;
  1353.         
  1354.         virtual HRESULT STDMETHODCALLTYPE Reassociate( void) = 0;
  1355.         
  1356.         virtual HRESULT STDMETHODCALLTYPE Disassociate( void) = 0;
  1357.         
  1358.     };
  1359.     
  1360. #else  /* C style interface */
  1361.     typedef struct IAMDeviceRemovalVtbl
  1362.     {
  1363.         BEGIN_INTERFACE
  1364.         
  1365.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1366.             IAMDeviceRemoval * This,
  1367.             /* [in] */ REFIID riid,
  1368.             /* [iid_is][out] */ void **ppvObject);
  1369.         
  1370.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1371.             IAMDeviceRemoval * This);
  1372.         
  1373.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1374.             IAMDeviceRemoval * This);
  1375.         
  1376.         HRESULT ( STDMETHODCALLTYPE *DeviceInfo )( 
  1377.             IAMDeviceRemoval * This,
  1378.             /* [out] */ CLSID *pclsidInterfaceClass,
  1379.             /* [out] */ WCHAR **pwszSymbolicLink);
  1380.         
  1381.         HRESULT ( STDMETHODCALLTYPE *Reassociate )( 
  1382.             IAMDeviceRemoval * This);
  1383.         
  1384.         HRESULT ( STDMETHODCALLTYPE *Disassociate )( 
  1385.             IAMDeviceRemoval * This);
  1386.         
  1387.         END_INTERFACE
  1388.     } IAMDeviceRemovalVtbl;
  1389.     interface IAMDeviceRemoval
  1390.     {
  1391.         CONST_VTBL struct IAMDeviceRemovalVtbl *lpVtbl;
  1392.     };
  1393.     
  1394. #ifdef COBJMACROS
  1395. #define IAMDeviceRemoval_QueryInterface(This,riid,ppvObject)
  1396.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1397. #define IAMDeviceRemoval_AddRef(This)
  1398.     (This)->lpVtbl -> AddRef(This)
  1399. #define IAMDeviceRemoval_Release(This)
  1400.     (This)->lpVtbl -> Release(This)
  1401. #define IAMDeviceRemoval_DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink)
  1402.     (This)->lpVtbl -> DeviceInfo(This,pclsidInterfaceClass,pwszSymbolicLink)
  1403. #define IAMDeviceRemoval_Reassociate(This)
  1404.     (This)->lpVtbl -> Reassociate(This)
  1405. #define IAMDeviceRemoval_Disassociate(This)
  1406.     (This)->lpVtbl -> Disassociate(This)
  1407. #endif /* COBJMACROS */
  1408. #endif  /* C style interface */
  1409. HRESULT STDMETHODCALLTYPE IAMDeviceRemoval_DeviceInfo_Proxy( 
  1410.     IAMDeviceRemoval * This,
  1411.     /* [out] */ CLSID *pclsidInterfaceClass,
  1412.     /* [out] */ WCHAR **pwszSymbolicLink);
  1413. void __RPC_STUB IAMDeviceRemoval_DeviceInfo_Stub(
  1414.     IRpcStubBuffer *This,
  1415.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1416.     PRPC_MESSAGE _pRpcMessage,
  1417.     DWORD *_pdwStubPhase);
  1418. HRESULT STDMETHODCALLTYPE IAMDeviceRemoval_Reassociate_Proxy( 
  1419.     IAMDeviceRemoval * This);
  1420. void __RPC_STUB IAMDeviceRemoval_Reassociate_Stub(
  1421.     IRpcStubBuffer *This,
  1422.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1423.     PRPC_MESSAGE _pRpcMessage,
  1424.     DWORD *_pdwStubPhase);
  1425. HRESULT STDMETHODCALLTYPE IAMDeviceRemoval_Disassociate_Proxy( 
  1426.     IAMDeviceRemoval * This);
  1427. void __RPC_STUB IAMDeviceRemoval_Disassociate_Stub(
  1428.     IRpcStubBuffer *This,
  1429.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1430.     PRPC_MESSAGE _pRpcMessage,
  1431.     DWORD *_pdwStubPhase);
  1432. #endif  /* __IAMDeviceRemoval_INTERFACE_DEFINED__ */
  1433. /* interface __MIDL_itf_strmif_0344 */
  1434. /* [local] */ 
  1435. typedef /* [public][public][public] */ struct __MIDL___MIDL_itf_strmif_0344_0001
  1436.     {
  1437.     DWORD dwDVAAuxSrc;
  1438.     DWORD dwDVAAuxCtl;
  1439.     DWORD dwDVAAuxSrc1;
  1440.     DWORD dwDVAAuxCtl1;
  1441.     DWORD dwDVVAuxSrc;
  1442.     DWORD dwDVVAuxCtl;
  1443.     DWORD dwDVReserved[ 2 ];
  1444.     }  DVINFO;
  1445. typedef struct __MIDL___MIDL_itf_strmif_0344_0001 *PDVINFO;
  1446. enum _DVENCODERRESOLUTION
  1447.     { DVENCODERRESOLUTION_720x480 = 2012,
  1448. DVENCODERRESOLUTION_360x240 = 2013,
  1449. DVENCODERRESOLUTION_180x120 = 2014,
  1450. DVENCODERRESOLUTION_88x60 = 2015
  1451.     } ;
  1452. enum _DVENCODERVIDEOFORMAT
  1453.     { DVENCODERVIDEOFORMAT_NTSC = 2000,
  1454. DVENCODERVIDEOFORMAT_PAL = 2001
  1455.     } ;
  1456. enum _DVENCODERFORMAT
  1457.     { DVENCODERFORMAT_DVSD = 2007,
  1458. DVENCODERFORMAT_DVHD = 2008,
  1459. DVENCODERFORMAT_DVSL = 2009
  1460.     } ;
  1461. extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_c_ifspec;
  1462. extern RPC_IF_HANDLE __MIDL_itf_strmif_0344_v0_0_s_ifspec;
  1463. #ifndef __IDVEnc_INTERFACE_DEFINED__
  1464. #define __IDVEnc_INTERFACE_DEFINED__
  1465. /* interface IDVEnc */
  1466. /* [unique][uuid][object] */ 
  1467. EXTERN_C const IID IID_IDVEnc;
  1468. #if defined(__cplusplus) && !defined(CINTERFACE)
  1469.     
  1470.     MIDL_INTERFACE("d18e17a0-aacb-11d0-afb0-00aa00b67a42")
  1471.     IDVEnc : public IUnknown
  1472.     {
  1473.     public:
  1474.         virtual HRESULT STDMETHODCALLTYPE get_IFormatResolution( 
  1475.             /* [out] */ int *VideoFormat,
  1476.             /* [out] */ int *DVFormat,
  1477.             /* [out] */ int *Resolution,
  1478.             /* [in] */ BYTE fDVInfo,
  1479.             /* [out] */ DVINFO *sDVInfo) = 0;
  1480.         
  1481.         virtual HRESULT STDMETHODCALLTYPE put_IFormatResolution( 
  1482.             /* [in] */ int VideoFormat,
  1483.             /* [in] */ int DVFormat,
  1484.             /* [in] */ int Resolution,
  1485.             /* [in] */ BYTE fDVInfo,
  1486.             /* [in] */ DVINFO *sDVInfo) = 0;
  1487.         
  1488.     };
  1489.     
  1490. #else  /* C style interface */
  1491.     typedef struct IDVEncVtbl
  1492.     {
  1493.         BEGIN_INTERFACE
  1494.         
  1495.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1496.             IDVEnc * This,
  1497.             /* [in] */ REFIID riid,
  1498.             /* [iid_is][out] */ void **ppvObject);
  1499.         
  1500.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1501.             IDVEnc * This);
  1502.         
  1503.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1504.             IDVEnc * This);
  1505.         
  1506.         HRESULT ( STDMETHODCALLTYPE *get_IFormatResolution )( 
  1507.             IDVEnc * This,
  1508.             /* [out] */ int *VideoFormat,
  1509.             /* [out] */ int *DVFormat,
  1510.             /* [out] */ int *Resolution,
  1511.             /* [in] */ BYTE fDVInfo,
  1512.             /* [out] */ DVINFO *sDVInfo);
  1513.         
  1514.         HRESULT ( STDMETHODCALLTYPE *put_IFormatResolution )( 
  1515.             IDVEnc * This,
  1516.             /* [in] */ int VideoFormat,
  1517.             /* [in] */ int DVFormat,
  1518.             /* [in] */ int Resolution,
  1519.             /* [in] */ BYTE fDVInfo,
  1520.             /* [in] */ DVINFO *sDVInfo);
  1521.         
  1522.         END_INTERFACE
  1523.     } IDVEncVtbl;
  1524.     interface IDVEnc
  1525.     {
  1526.         CONST_VTBL struct IDVEncVtbl *lpVtbl;
  1527.     };
  1528.     
  1529. #ifdef COBJMACROS
  1530. #define IDVEnc_QueryInterface(This,riid,ppvObject)
  1531.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1532. #define IDVEnc_AddRef(This)
  1533.     (This)->lpVtbl -> AddRef(This)
  1534. #define IDVEnc_Release(This)
  1535.     (This)->lpVtbl -> Release(This)
  1536. #define IDVEnc_get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)
  1537.     (This)->lpVtbl -> get_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)
  1538. #define IDVEnc_put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)
  1539.     (This)->lpVtbl -> put_IFormatResolution(This,VideoFormat,DVFormat,Resolution,fDVInfo,sDVInfo)
  1540. #endif /* COBJMACROS */
  1541. #endif  /* C style interface */
  1542. HRESULT STDMETHODCALLTYPE IDVEnc_get_IFormatResolution_Proxy( 
  1543.     IDVEnc * This,
  1544.     /* [out] */ int *VideoFormat,
  1545.     /* [out] */ int *DVFormat,
  1546.     /* [out] */ int *Resolution,
  1547.     /* [in] */ BYTE fDVInfo,
  1548.     /* [out] */ DVINFO *sDVInfo);
  1549. void __RPC_STUB IDVEnc_get_IFormatResolution_Stub(
  1550.     IRpcStubBuffer *This,
  1551.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1552.     PRPC_MESSAGE _pRpcMessage,
  1553.     DWORD *_pdwStubPhase);
  1554. HRESULT STDMETHODCALLTYPE IDVEnc_put_IFormatResolution_Proxy( 
  1555.     IDVEnc * This,
  1556.     /* [in] */ int VideoFormat,
  1557.     /* [in] */ int DVFormat,
  1558.     /* [in] */ int Resolution,
  1559.     /* [in] */ BYTE fDVInfo,
  1560.     /* [in] */ DVINFO *sDVInfo);
  1561. void __RPC_STUB IDVEnc_put_IFormatResolution_Stub(
  1562.     IRpcStubBuffer *This,
  1563.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1564.     PRPC_MESSAGE _pRpcMessage,
  1565.     DWORD *_pdwStubPhase);
  1566. #endif  /* __IDVEnc_INTERFACE_DEFINED__ */
  1567. /* interface __MIDL_itf_strmif_0345 */
  1568. /* [local] */ 
  1569. enum _DVDECODERRESOLUTION
  1570.     { DVDECODERRESOLUTION_720x480 = 1000,
  1571. DVDECODERRESOLUTION_360x240 = 1001,
  1572. DVDECODERRESOLUTION_180x120 = 1002,
  1573. DVDECODERRESOLUTION_88x60 = 1003
  1574.     } ;
  1575. enum _DVRESOLUTION
  1576.     { DVRESOLUTION_FULL = 1000,
  1577. DVRESOLUTION_HALF = 1001,
  1578. DVRESOLUTION_QUARTER = 1002,
  1579. DVRESOLUTION_DC = 1003
  1580.     } ;
  1581. extern RPC_IF_HANDLE __MIDL_itf_strmif_0345_v0_0_c_ifspec;
  1582. extern RPC_IF_HANDLE __MIDL_itf_strmif_0345_v0_0_s_ifspec;
  1583. #ifndef __IIPDVDec_INTERFACE_DEFINED__
  1584. #define __IIPDVDec_INTERFACE_DEFINED__
  1585. /* interface IIPDVDec */
  1586. /* [unique][uuid][object] */ 
  1587. EXTERN_C const IID IID_IIPDVDec;
  1588. #if defined(__cplusplus) && !defined(CINTERFACE)
  1589.     
  1590.     MIDL_INTERFACE("b8e8bd60-0bfe-11d0-af91-00aa00b67a42")
  1591.     IIPDVDec : public IUnknown
  1592.     {
  1593.     public:
  1594.         virtual HRESULT STDMETHODCALLTYPE get_IPDisplay( 
  1595.             /* [out] */ int *displayPix) = 0;
  1596.         
  1597.         virtual HRESULT STDMETHODCALLTYPE put_IPDisplay( 
  1598.             /* [in] */ int displayPix) = 0;
  1599.         
  1600.     };
  1601.     
  1602. #else  /* C style interface */
  1603.     typedef struct IIPDVDecVtbl
  1604.     {
  1605.         BEGIN_INTERFACE
  1606.         
  1607.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1608.             IIPDVDec * This,
  1609.             /* [in] */ REFIID riid,
  1610.             /* [iid_is][out] */ void **ppvObject);
  1611.         
  1612.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1613.             IIPDVDec * This);
  1614.         
  1615.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1616.             IIPDVDec * This);
  1617.         
  1618.         HRESULT ( STDMETHODCALLTYPE *get_IPDisplay )( 
  1619.             IIPDVDec * This,
  1620.             /* [out] */ int *displayPix);
  1621.         
  1622.         HRESULT ( STDMETHODCALLTYPE *put_IPDisplay )( 
  1623.             IIPDVDec * This,
  1624.             /* [in] */ int displayPix);
  1625.         
  1626.         END_INTERFACE
  1627.     } IIPDVDecVtbl;
  1628.     interface IIPDVDec
  1629.     {
  1630.         CONST_VTBL struct IIPDVDecVtbl *lpVtbl;
  1631.     };
  1632.     
  1633. #ifdef COBJMACROS
  1634. #define IIPDVDec_QueryInterface(This,riid,ppvObject)
  1635.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1636. #define IIPDVDec_AddRef(This)
  1637.     (This)->lpVtbl -> AddRef(This)
  1638. #define IIPDVDec_Release(This)
  1639.     (This)->lpVtbl -> Release(This)
  1640. #define IIPDVDec_get_IPDisplay(This,displayPix)
  1641.     (This)->lpVtbl -> get_IPDisplay(This,displayPix)
  1642. #define IIPDVDec_put_IPDisplay(This,displayPix)
  1643.     (This)->lpVtbl -> put_IPDisplay(This,displayPix)
  1644. #endif /* COBJMACROS */
  1645. #endif  /* C style interface */
  1646. HRESULT STDMETHODCALLTYPE IIPDVDec_get_IPDisplay_Proxy( 
  1647.     IIPDVDec * This,
  1648.     /* [out] */ int *displayPix);
  1649. void __RPC_STUB IIPDVDec_get_IPDisplay_Stub(
  1650.     IRpcStubBuffer *This,
  1651.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1652.     PRPC_MESSAGE _pRpcMessage,
  1653.     DWORD *_pdwStubPhase);
  1654. HRESULT STDMETHODCALLTYPE IIPDVDec_put_IPDisplay_Proxy( 
  1655.     IIPDVDec * This,
  1656.     /* [in] */ int displayPix);
  1657. void __RPC_STUB IIPDVDec_put_IPDisplay_Stub(
  1658.     IRpcStubBuffer *This,
  1659.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1660.     PRPC_MESSAGE _pRpcMessage,
  1661.     DWORD *_pdwStubPhase);
  1662. #endif  /* __IIPDVDec_INTERFACE_DEFINED__ */
  1663. #ifndef __IDVRGB219_INTERFACE_DEFINED__
  1664. #define __IDVRGB219_INTERFACE_DEFINED__
  1665. /* interface IDVRGB219 */
  1666. /* [unique][uuid][object] */ 
  1667. EXTERN_C const IID IID_IDVRGB219;
  1668. #if defined(__cplusplus) && !defined(CINTERFACE)
  1669.     
  1670.     MIDL_INTERFACE("58473A19-2BC8-4663-8012-25F81BABDDD1")
  1671.     IDVRGB219 : public IUnknown
  1672.     {
  1673.     public:
  1674.         virtual HRESULT STDMETHODCALLTYPE SetRGB219( 
  1675.             /* [in] */ BOOL bState) = 0;
  1676.         
  1677.     };
  1678.     
  1679. #else  /* C style interface */
  1680.     typedef struct IDVRGB219Vtbl
  1681.     {
  1682.         BEGIN_INTERFACE
  1683.         
  1684.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1685.             IDVRGB219 * This,
  1686.             /* [in] */ REFIID riid,
  1687.             /* [iid_is][out] */ void **ppvObject);
  1688.         
  1689.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1690.             IDVRGB219 * This);
  1691.         
  1692.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1693.             IDVRGB219 * This);
  1694.         
  1695.         HRESULT ( STDMETHODCALLTYPE *SetRGB219 )( 
  1696.             IDVRGB219 * This,
  1697.             /* [in] */ BOOL bState);
  1698.         
  1699.         END_INTERFACE
  1700.     } IDVRGB219Vtbl;
  1701.     interface IDVRGB219
  1702.     {
  1703.         CONST_VTBL struct IDVRGB219Vtbl *lpVtbl;
  1704.     };
  1705.     
  1706. #ifdef COBJMACROS
  1707. #define IDVRGB219_QueryInterface(This,riid,ppvObject)
  1708.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1709. #define IDVRGB219_AddRef(This)
  1710.     (This)->lpVtbl -> AddRef(This)
  1711. #define IDVRGB219_Release(This)
  1712.     (This)->lpVtbl -> Release(This)
  1713. #define IDVRGB219_SetRGB219(This,bState)
  1714.     (This)->lpVtbl -> SetRGB219(This,bState)
  1715. #endif /* COBJMACROS */
  1716. #endif  /* C style interface */
  1717. HRESULT STDMETHODCALLTYPE IDVRGB219_SetRGB219_Proxy( 
  1718.     IDVRGB219 * This,
  1719.     /* [in] */ BOOL bState);
  1720. void __RPC_STUB IDVRGB219_SetRGB219_Stub(
  1721.     IRpcStubBuffer *This,
  1722.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1723.     PRPC_MESSAGE _pRpcMessage,
  1724.     DWORD *_pdwStubPhase);
  1725. #endif  /* __IDVRGB219_INTERFACE_DEFINED__ */
  1726. #ifndef __IDVSplitter_INTERFACE_DEFINED__
  1727. #define __IDVSplitter_INTERFACE_DEFINED__
  1728. /* interface IDVSplitter */
  1729. /* [uuid][object] */ 
  1730. EXTERN_C const IID IID_IDVSplitter;
  1731. #if defined(__cplusplus) && !defined(CINTERFACE)
  1732.     
  1733.     MIDL_INTERFACE("92a3a302-da7c-4a1f-ba7e-1802bb5d2d02")
  1734.     IDVSplitter : public IUnknown
  1735.     {
  1736.     public:
  1737.         virtual HRESULT STDMETHODCALLTYPE DiscardAlternateVideoFrames( 
  1738.             /* [in] */ int nDiscard) = 0;
  1739.         
  1740.     };
  1741.     
  1742. #else  /* C style interface */
  1743.     typedef struct IDVSplitterVtbl
  1744.     {
  1745.         BEGIN_INTERFACE
  1746.         
  1747.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1748.             IDVSplitter * This,
  1749.             /* [in] */ REFIID riid,
  1750.             /* [iid_is][out] */ void **ppvObject);
  1751.         
  1752.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1753.             IDVSplitter * This);
  1754.         
  1755.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1756.             IDVSplitter * This);
  1757.         
  1758.         HRESULT ( STDMETHODCALLTYPE *DiscardAlternateVideoFrames )( 
  1759.             IDVSplitter * This,
  1760.             /* [in] */ int nDiscard);
  1761.         
  1762.         END_INTERFACE
  1763.     } IDVSplitterVtbl;
  1764.     interface IDVSplitter
  1765.     {
  1766.         CONST_VTBL struct IDVSplitterVtbl *lpVtbl;
  1767.     };
  1768.     
  1769. #ifdef COBJMACROS
  1770. #define IDVSplitter_QueryInterface(This,riid,ppvObject)
  1771.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1772. #define IDVSplitter_AddRef(This)
  1773.     (This)->lpVtbl -> AddRef(This)
  1774. #define IDVSplitter_Release(This)
  1775.     (This)->lpVtbl -> Release(This)
  1776. #define IDVSplitter_DiscardAlternateVideoFrames(This,nDiscard)
  1777.     (This)->lpVtbl -> DiscardAlternateVideoFrames(This,nDiscard)
  1778. #endif /* COBJMACROS */
  1779. #endif  /* C style interface */
  1780. HRESULT STDMETHODCALLTYPE IDVSplitter_DiscardAlternateVideoFrames_Proxy( 
  1781.     IDVSplitter * This,
  1782.     /* [in] */ int nDiscard);
  1783. void __RPC_STUB IDVSplitter_DiscardAlternateVideoFrames_Stub(
  1784.     IRpcStubBuffer *This,
  1785.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1786.     PRPC_MESSAGE _pRpcMessage,
  1787.     DWORD *_pdwStubPhase);
  1788. #endif  /* __IDVSplitter_INTERFACE_DEFINED__ */
  1789. /* interface __MIDL_itf_strmif_0348 */
  1790. /* [local] */ 
  1791. enum _AM_AUDIO_RENDERER_STAT_PARAM
  1792.     { AM_AUDREND_STAT_PARAM_BREAK_COUNT = 1,
  1793. AM_AUDREND_STAT_PARAM_SLAVE_MODE = AM_AUDREND_STAT_PARAM_BREAK_COUNT + 1,
  1794. AM_AUDREND_STAT_PARAM_SILENCE_DUR = AM_AUDREND_STAT_PARAM_SLAVE_MODE + 1,
  1795. AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR = AM_AUDREND_STAT_PARAM_SILENCE_DUR + 1,
  1796. AM_AUDREND_STAT_PARAM_DISCONTINUITIES = AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR + 1,
  1797. AM_AUDREND_STAT_PARAM_SLAVE_RATE = AM_AUDREND_STAT_PARAM_DISCONTINUITIES + 1,
  1798. AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR = AM_AUDREND_STAT_PARAM_SLAVE_RATE + 1,
  1799. AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR = AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR + 1,
  1800. AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR = AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR + 1,
  1801. AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR = AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR + 1,
  1802. AM_AUDREND_STAT_PARAM_BUFFERFULLNESS = AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR + 1,
  1803. AM_AUDREND_STAT_PARAM_JITTER = AM_AUDREND_STAT_PARAM_BUFFERFULLNESS + 1
  1804.     } ;
  1805. extern RPC_IF_HANDLE __MIDL_itf_strmif_0348_v0_0_c_ifspec;
  1806. extern RPC_IF_HANDLE __MIDL_itf_strmif_0348_v0_0_s_ifspec;
  1807. #ifndef __IAMAudioRendererStats_INTERFACE_DEFINED__
  1808. #define __IAMAudioRendererStats_INTERFACE_DEFINED__
  1809. /* interface IAMAudioRendererStats */
  1810. /* [unique][uuid][object] */ 
  1811. EXTERN_C const IID IID_IAMAudioRendererStats;
  1812. #if defined(__cplusplus) && !defined(CINTERFACE)
  1813.     
  1814.     MIDL_INTERFACE("22320CB2-D41A-11d2-BF7C-D7CB9DF0BF93")
  1815.     IAMAudioRendererStats : public IUnknown
  1816.     {
  1817.     public:
  1818.         virtual HRESULT STDMETHODCALLTYPE GetStatParam( 
  1819.             /* [in] */ DWORD dwParam,
  1820.             /* [out] */ DWORD *pdwParam1,
  1821.             /* [out] */ DWORD *pdwParam2) = 0;
  1822.         
  1823.     };
  1824.     
  1825. #else  /* C style interface */
  1826.     typedef struct IAMAudioRendererStatsVtbl
  1827.     {
  1828.         BEGIN_INTERFACE
  1829.         
  1830.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1831.             IAMAudioRendererStats * This,
  1832.             /* [in] */ REFIID riid,
  1833.             /* [iid_is][out] */ void **ppvObject);
  1834.         
  1835.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1836.             IAMAudioRendererStats * This);
  1837.         
  1838.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1839.             IAMAudioRendererStats * This);
  1840.         
  1841.         HRESULT ( STDMETHODCALLTYPE *GetStatParam )( 
  1842.             IAMAudioRendererStats * This,
  1843.             /* [in] */ DWORD dwParam,
  1844.             /* [out] */ DWORD *pdwParam1,
  1845.             /* [out] */ DWORD *pdwParam2);
  1846.         
  1847.         END_INTERFACE
  1848.     } IAMAudioRendererStatsVtbl;
  1849.     interface IAMAudioRendererStats
  1850.     {
  1851.         CONST_VTBL struct IAMAudioRendererStatsVtbl *lpVtbl;
  1852.     };
  1853.     
  1854. #ifdef COBJMACROS
  1855. #define IAMAudioRendererStats_QueryInterface(This,riid,ppvObject)
  1856.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1857. #define IAMAudioRendererStats_AddRef(This)
  1858.     (This)->lpVtbl -> AddRef(This)
  1859. #define IAMAudioRendererStats_Release(This)
  1860.     (This)->lpVtbl -> Release(This)
  1861. #define IAMAudioRendererStats_GetStatParam(This,dwParam,pdwParam1,pdwParam2)
  1862.     (This)->lpVtbl -> GetStatParam(This,dwParam,pdwParam1,pdwParam2)
  1863. #endif /* COBJMACROS */
  1864. #endif  /* C style interface */
  1865. HRESULT STDMETHODCALLTYPE IAMAudioRendererStats_GetStatParam_Proxy( 
  1866.     IAMAudioRendererStats * This,
  1867.     /* [in] */ DWORD dwParam,
  1868.     /* [out] */ DWORD *pdwParam1,
  1869.     /* [out] */ DWORD *pdwParam2);
  1870. void __RPC_STUB IAMAudioRendererStats_GetStatParam_Stub(
  1871.     IRpcStubBuffer *This,
  1872.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1873.     PRPC_MESSAGE _pRpcMessage,
  1874.     DWORD *_pdwStubPhase);
  1875. #endif  /* __IAMAudioRendererStats_INTERFACE_DEFINED__ */
  1876. /* interface __MIDL_itf_strmif_0350 */
  1877. /* [local] */ 
  1878. enum _AM_INTF_SEARCH_FLAGS
  1879.     { AM_INTF_SEARCH_INPUT_PIN = 0x1,
  1880. AM_INTF_SEARCH_OUTPUT_PIN = 0x2,
  1881. AM_INTF_SEARCH_FILTER = 0x4
  1882.     } ;
  1883. extern RPC_IF_HANDLE __MIDL_itf_strmif_0350_v0_0_c_ifspec;
  1884. extern RPC_IF_HANDLE __MIDL_itf_strmif_0350_v0_0_s_ifspec;
  1885. #ifndef __IAMGraphStreams_INTERFACE_DEFINED__
  1886. #define __IAMGraphStreams_INTERFACE_DEFINED__
  1887. /* interface IAMGraphStreams */
  1888. /* [unique][uuid][object] */ 
  1889. EXTERN_C const IID IID_IAMGraphStreams;
  1890. #if defined(__cplusplus) && !defined(CINTERFACE)
  1891.     
  1892.     MIDL_INTERFACE("632105FA-072E-11d3-8AF9-00C04FB6BD3D")
  1893.     IAMGraphStreams : public IUnknown
  1894.     {
  1895.     public:
  1896.         virtual HRESULT STDMETHODCALLTYPE FindUpstreamInterface( 
  1897.             /* [in] */ IPin *pPin,
  1898.             /* [in] */ REFIID riid,
  1899.             /* [iid_is][out] */ void **ppvInterface,
  1900.             /* [in] */ DWORD dwFlags) = 0;
  1901.         
  1902.         virtual HRESULT STDMETHODCALLTYPE SyncUsingStreamOffset( 
  1903.             /* [in] */ BOOL bUseStreamOffset) = 0;
  1904.         
  1905.         virtual HRESULT STDMETHODCALLTYPE SetMaxGraphLatency( 
  1906.             /* [in] */ REFERENCE_TIME rtMaxGraphLatency) = 0;
  1907.         
  1908.     };
  1909.     
  1910. #else  /* C style interface */
  1911.     typedef struct IAMGraphStreamsVtbl
  1912.     {
  1913.         BEGIN_INTERFACE
  1914.         
  1915.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1916.             IAMGraphStreams * This,
  1917.             /* [in] */ REFIID riid,
  1918.             /* [iid_is][out] */ void **ppvObject);
  1919.         
  1920.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1921.             IAMGraphStreams * This);
  1922.         
  1923.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1924.             IAMGraphStreams * This);
  1925.         
  1926.         HRESULT ( STDMETHODCALLTYPE *FindUpstreamInterface )( 
  1927.             IAMGraphStreams * This,
  1928.             /* [in] */ IPin *pPin,
  1929.             /* [in] */ REFIID riid,
  1930.             /* [iid_is][out] */ void **ppvInterface,
  1931.             /* [in] */ DWORD dwFlags);
  1932.         
  1933.         HRESULT ( STDMETHODCALLTYPE *SyncUsingStreamOffset )( 
  1934.             IAMGraphStreams * This,
  1935.             /* [in] */ BOOL bUseStreamOffset);
  1936.         
  1937.         HRESULT ( STDMETHODCALLTYPE *SetMaxGraphLatency )( 
  1938.             IAMGraphStreams * This,
  1939.             /* [in] */ REFERENCE_TIME rtMaxGraphLatency);
  1940.         
  1941.         END_INTERFACE
  1942.     } IAMGraphStreamsVtbl;
  1943.     interface IAMGraphStreams
  1944.     {
  1945.         CONST_VTBL struct IAMGraphStreamsVtbl *lpVtbl;
  1946.     };
  1947.     
  1948. #ifdef COBJMACROS
  1949. #define IAMGraphStreams_QueryInterface(This,riid,ppvObject)
  1950.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1951. #define IAMGraphStreams_AddRef(This)
  1952.     (This)->lpVtbl -> AddRef(This)
  1953. #define IAMGraphStreams_Release(This)
  1954.     (This)->lpVtbl -> Release(This)
  1955. #define IAMGraphStreams_FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags)
  1956.     (This)->lpVtbl -> FindUpstreamInterface(This,pPin,riid,ppvInterface,dwFlags)
  1957. #define IAMGraphStreams_SyncUsingStreamOffset(This,bUseStreamOffset)
  1958.     (This)->lpVtbl -> SyncUsingStreamOffset(This,bUseStreamOffset)
  1959. #define IAMGraphStreams_SetMaxGraphLatency(This,rtMaxGraphLatency)
  1960.     (This)->lpVtbl -> SetMaxGraphLatency(This,rtMaxGraphLatency)
  1961. #endif /* COBJMACROS */
  1962. #endif  /* C style interface */
  1963. HRESULT STDMETHODCALLTYPE IAMGraphStreams_FindUpstreamInterface_Proxy( 
  1964.     IAMGraphStreams * This,
  1965.     /* [in] */ IPin *pPin,
  1966.     /* [in] */ REFIID riid,
  1967.     /* [iid_is][out] */ void **ppvInterface,
  1968.     /* [in] */ DWORD dwFlags);
  1969. void __RPC_STUB IAMGraphStreams_FindUpstreamInterface_Stub(
  1970.     IRpcStubBuffer *This,
  1971.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1972.     PRPC_MESSAGE _pRpcMessage,
  1973.     DWORD *_pdwStubPhase);
  1974. HRESULT STDMETHODCALLTYPE IAMGraphStreams_SyncUsingStreamOffset_Proxy( 
  1975.     IAMGraphStreams * This,
  1976.     /* [in] */ BOOL bUseStreamOffset);
  1977. void __RPC_STUB IAMGraphStreams_SyncUsingStreamOffset_Stub(
  1978.     IRpcStubBuffer *This,
  1979.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1980.     PRPC_MESSAGE _pRpcMessage,
  1981.     DWORD *_pdwStubPhase);
  1982. HRESULT STDMETHODCALLTYPE IAMGraphStreams_SetMaxGraphLatency_Proxy( 
  1983.     IAMGraphStreams * This,
  1984.     /* [in] */ REFERENCE_TIME rtMaxGraphLatency);
  1985. void __RPC_STUB IAMGraphStreams_SetMaxGraphLatency_Stub(
  1986.     IRpcStubBuffer *This,
  1987.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1988.     PRPC_MESSAGE _pRpcMessage,
  1989.     DWORD *_pdwStubPhase);
  1990. #endif  /* __IAMGraphStreams_INTERFACE_DEFINED__ */
  1991. /* interface __MIDL_itf_strmif_0351 */
  1992. /* [local] */ 
  1993. enum AMOVERLAYFX
  1994.     { AMOVERFX_NOFX = 0,
  1995. AMOVERFX_MIRRORLEFTRIGHT = 0x2,
  1996. AMOVERFX_MIRRORUPDOWN = 0x4,
  1997. AMOVERFX_DEINTERLACE = 0x8
  1998.     } ;
  1999. extern RPC_IF_HANDLE __MIDL_itf_strmif_0351_v0_0_c_ifspec;
  2000. extern RPC_IF_HANDLE __MIDL_itf_strmif_0351_v0_0_s_ifspec;
  2001. #ifndef __IAMOverlayFX_INTERFACE_DEFINED__
  2002. #define __IAMOverlayFX_INTERFACE_DEFINED__
  2003. /* interface IAMOverlayFX */
  2004. /* [unique][uuid][object] */ 
  2005. EXTERN_C const IID IID_IAMOverlayFX;
  2006. #if defined(__cplusplus) && !defined(CINTERFACE)
  2007.     
  2008.     MIDL_INTERFACE("62fae250-7e65-4460-bfc9-6398b322073c")
  2009.     IAMOverlayFX : public IUnknown
  2010.     {
  2011.     public:
  2012.         virtual HRESULT STDMETHODCALLTYPE QueryOverlayFXCaps( 
  2013.             /* [out] */ DWORD *lpdwOverlayFXCaps) = 0;
  2014.         
  2015.         virtual HRESULT STDMETHODCALLTYPE SetOverlayFX( 
  2016.             /* [in] */ DWORD dwOverlayFX) = 0;
  2017.         
  2018.         virtual HRESULT STDMETHODCALLTYPE GetOverlayFX( 
  2019.             /* [out] */ DWORD *lpdwOverlayFX) = 0;
  2020.         
  2021.     };
  2022.     
  2023. #else  /* C style interface */
  2024.     typedef struct IAMOverlayFXVtbl
  2025.     {
  2026.         BEGIN_INTERFACE
  2027.         
  2028.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2029.             IAMOverlayFX * This,
  2030.             /* [in] */ REFIID riid,
  2031.             /* [iid_is][out] */ void **ppvObject);
  2032.         
  2033.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2034.             IAMOverlayFX * This);
  2035.         
  2036.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2037.             IAMOverlayFX * This);
  2038.         
  2039.         HRESULT ( STDMETHODCALLTYPE *QueryOverlayFXCaps )( 
  2040.             IAMOverlayFX * This,
  2041.             /* [out] */ DWORD *lpdwOverlayFXCaps);
  2042.         
  2043.         HRESULT ( STDMETHODCALLTYPE *SetOverlayFX )( 
  2044.             IAMOverlayFX * This,
  2045.             /* [in] */ DWORD dwOverlayFX);
  2046.         
  2047.         HRESULT ( STDMETHODCALLTYPE *GetOverlayFX )( 
  2048.             IAMOverlayFX * This,
  2049.             /* [out] */ DWORD *lpdwOverlayFX);
  2050.         
  2051.         END_INTERFACE
  2052.     } IAMOverlayFXVtbl;
  2053.     interface IAMOverlayFX
  2054.     {
  2055.         CONST_VTBL struct IAMOverlayFXVtbl *lpVtbl;
  2056.     };
  2057.     
  2058. #ifdef COBJMACROS
  2059. #define IAMOverlayFX_QueryInterface(This,riid,ppvObject)
  2060.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2061. #define IAMOverlayFX_AddRef(This)
  2062.     (This)->lpVtbl -> AddRef(This)
  2063. #define IAMOverlayFX_Release(This)
  2064.     (This)->lpVtbl -> Release(This)
  2065. #define IAMOverlayFX_QueryOverlayFXCaps(This,lpdwOverlayFXCaps)
  2066.     (This)->lpVtbl -> QueryOverlayFXCaps(This,lpdwOverlayFXCaps)
  2067. #define IAMOverlayFX_SetOverlayFX(This,dwOverlayFX)
  2068.     (This)->lpVtbl -> SetOverlayFX(This,dwOverlayFX)
  2069. #define IAMOverlayFX_GetOverlayFX(This,lpdwOverlayFX)
  2070.     (This)->lpVtbl -> GetOverlayFX(This,lpdwOverlayFX)
  2071. #endif /* COBJMACROS */
  2072. #endif  /* C style interface */
  2073. HRESULT STDMETHODCALLTYPE IAMOverlayFX_QueryOverlayFXCaps_Proxy( 
  2074.     IAMOverlayFX * This,
  2075.     /* [out] */ DWORD *lpdwOverlayFXCaps);
  2076. void __RPC_STUB IAMOverlayFX_QueryOverlayFXCaps_Stub(
  2077.     IRpcStubBuffer *This,
  2078.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2079.     PRPC_MESSAGE _pRpcMessage,
  2080.     DWORD *_pdwStubPhase);
  2081. HRESULT STDMETHODCALLTYPE IAMOverlayFX_SetOverlayFX_Proxy( 
  2082.     IAMOverlayFX * This,
  2083.     /* [in] */ DWORD dwOverlayFX);
  2084. void __RPC_STUB IAMOverlayFX_SetOverlayFX_Stub(
  2085.     IRpcStubBuffer *This,
  2086.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2087.     PRPC_MESSAGE _pRpcMessage,
  2088.     DWORD *_pdwStubPhase);
  2089. HRESULT STDMETHODCALLTYPE IAMOverlayFX_GetOverlayFX_Proxy( 
  2090.     IAMOverlayFX * This,
  2091.     /* [out] */ DWORD *lpdwOverlayFX);
  2092. void __RPC_STUB IAMOverlayFX_GetOverlayFX_Stub(
  2093.     IRpcStubBuffer *This,
  2094.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2095.     PRPC_MESSAGE _pRpcMessage,
  2096.     DWORD *_pdwStubPhase);
  2097. #endif  /* __IAMOverlayFX_INTERFACE_DEFINED__ */
  2098. #ifndef __IAMOpenProgress_INTERFACE_DEFINED__
  2099. #define __IAMOpenProgress_INTERFACE_DEFINED__
  2100. /* interface IAMOpenProgress */
  2101. /* [unique][uuid][object] */ 
  2102. EXTERN_C const IID IID_IAMOpenProgress;
  2103. #if defined(__cplusplus) && !defined(CINTERFACE)
  2104.     
  2105.     MIDL_INTERFACE("8E1C39A1-DE53-11cf-AA63-0080C744528D")
  2106.     IAMOpenProgress : public IUnknown
  2107.     {
  2108.     public:
  2109.         virtual HRESULT STDMETHODCALLTYPE QueryProgress( 
  2110.             /* [out] */ LONGLONG *pllTotal,
  2111.             /* [out] */ LONGLONG *pllCurrent) = 0;
  2112.         
  2113.         virtual HRESULT STDMETHODCALLTYPE AbortOperation( void) = 0;
  2114.         
  2115.     };
  2116.     
  2117. #else  /* C style interface */
  2118.     typedef struct IAMOpenProgressVtbl
  2119.     {
  2120.         BEGIN_INTERFACE
  2121.         
  2122.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2123.             IAMOpenProgress * This,
  2124.             /* [in] */ REFIID riid,
  2125.             /* [iid_is][out] */ void **ppvObject);
  2126.         
  2127.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2128.             IAMOpenProgress * This);
  2129.         
  2130.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2131.             IAMOpenProgress * This);
  2132.         
  2133.         HRESULT ( STDMETHODCALLTYPE *QueryProgress )( 
  2134.             IAMOpenProgress * This,
  2135.             /* [out] */ LONGLONG *pllTotal,
  2136.             /* [out] */ LONGLONG *pllCurrent);
  2137.         
  2138.         HRESULT ( STDMETHODCALLTYPE *AbortOperation )( 
  2139.             IAMOpenProgress * This);
  2140.         
  2141.         END_INTERFACE
  2142.     } IAMOpenProgressVtbl;
  2143.     interface IAMOpenProgress
  2144.     {
  2145.         CONST_VTBL struct IAMOpenProgressVtbl *lpVtbl;
  2146.     };
  2147.     
  2148. #ifdef COBJMACROS
  2149. #define IAMOpenProgress_QueryInterface(This,riid,ppvObject)
  2150.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2151. #define IAMOpenProgress_AddRef(This)
  2152.     (This)->lpVtbl -> AddRef(This)
  2153. #define IAMOpenProgress_Release(This)
  2154.     (This)->lpVtbl -> Release(This)
  2155. #define IAMOpenProgress_QueryProgress(This,pllTotal,pllCurrent)
  2156.     (This)->lpVtbl -> QueryProgress(This,pllTotal,pllCurrent)
  2157. #define IAMOpenProgress_AbortOperation(This)
  2158.     (This)->lpVtbl -> AbortOperation(This)
  2159. #endif /* COBJMACROS */
  2160. #endif  /* C style interface */
  2161. HRESULT STDMETHODCALLTYPE IAMOpenProgress_QueryProgress_Proxy( 
  2162.     IAMOpenProgress * This,
  2163.     /* [out] */ LONGLONG *pllTotal,
  2164.     /* [out] */ LONGLONG *pllCurrent);
  2165. void __RPC_STUB IAMOpenProgress_QueryProgress_Stub(
  2166.     IRpcStubBuffer *This,
  2167.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2168.     PRPC_MESSAGE _pRpcMessage,
  2169.     DWORD *_pdwStubPhase);
  2170. HRESULT STDMETHODCALLTYPE IAMOpenProgress_AbortOperation_Proxy( 
  2171.     IAMOpenProgress * This);
  2172. void __RPC_STUB IAMOpenProgress_AbortOperation_Stub(
  2173.     IRpcStubBuffer *This,
  2174.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2175.     PRPC_MESSAGE _pRpcMessage,
  2176.     DWORD *_pdwStubPhase);
  2177. #endif  /* __IAMOpenProgress_INTERFACE_DEFINED__ */
  2178. #ifndef __IMpeg2Demultiplexer_INTERFACE_DEFINED__
  2179. #define __IMpeg2Demultiplexer_INTERFACE_DEFINED__
  2180. /* interface IMpeg2Demultiplexer */
  2181. /* [unique][uuid][local][object] */ 
  2182. EXTERN_C const IID IID_IMpeg2Demultiplexer;
  2183. #if defined(__cplusplus) && !defined(CINTERFACE)
  2184.     
  2185.     MIDL_INTERFACE("436eee9c-264f-4242-90e1-4e330c107512")
  2186.     IMpeg2Demultiplexer : public IUnknown
  2187.     {
  2188.     public:
  2189.         virtual HRESULT STDMETHODCALLTYPE CreateOutputPin( 
  2190.             /* [in] */ AM_MEDIA_TYPE *pMediaType,
  2191.             /* [in] */ LPWSTR pszPinName,
  2192.             /* [out] */ IPin **ppIPin) = 0;
  2193.         
  2194.         virtual HRESULT STDMETHODCALLTYPE SetOutputPinMediaType( 
  2195.             /* [in] */ LPWSTR pszPinName,
  2196.             /* [in] */ AM_MEDIA_TYPE *pMediaType) = 0;
  2197.         
  2198.         virtual HRESULT STDMETHODCALLTYPE DeleteOutputPin( 
  2199.             /* [in] */ LPWSTR pszPinName) = 0;
  2200.         
  2201.     };
  2202.     
  2203. #else  /* C style interface */
  2204.     typedef struct IMpeg2DemultiplexerVtbl
  2205.     {
  2206.         BEGIN_INTERFACE
  2207.         
  2208.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2209.             IMpeg2Demultiplexer * This,
  2210.             /* [in] */ REFIID riid,
  2211.             /* [iid_is][out] */ void **ppvObject);
  2212.         
  2213.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2214.             IMpeg2Demultiplexer * This);
  2215.         
  2216.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2217.             IMpeg2Demultiplexer * This);
  2218.         
  2219.         HRESULT ( STDMETHODCALLTYPE *CreateOutputPin )( 
  2220.             IMpeg2Demultiplexer * This,
  2221.             /* [in] */ AM_MEDIA_TYPE *pMediaType,
  2222.             /* [in] */ LPWSTR pszPinName,
  2223.             /* [out] */ IPin **ppIPin);
  2224.         
  2225.         HRESULT ( STDMETHODCALLTYPE *SetOutputPinMediaType )( 
  2226.             IMpeg2Demultiplexer * This,
  2227.             /* [in] */ LPWSTR pszPinName,
  2228.             /* [in] */ AM_MEDIA_TYPE *pMediaType);
  2229.         
  2230.         HRESULT ( STDMETHODCALLTYPE *DeleteOutputPin )( 
  2231.             IMpeg2Demultiplexer * This,
  2232.             /* [in] */ LPWSTR pszPinName);
  2233.         
  2234.         END_INTERFACE
  2235.     } IMpeg2DemultiplexerVtbl;
  2236.     interface IMpeg2Demultiplexer
  2237.     {
  2238.         CONST_VTBL struct IMpeg2DemultiplexerVtbl *lpVtbl;
  2239.     };
  2240.     
  2241. #ifdef COBJMACROS
  2242. #define IMpeg2Demultiplexer_QueryInterface(This,riid,ppvObject)
  2243.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2244. #define IMpeg2Demultiplexer_AddRef(This)
  2245.     (This)->lpVtbl -> AddRef(This)
  2246. #define IMpeg2Demultiplexer_Release(This)
  2247.     (This)->lpVtbl -> Release(This)
  2248. #define IMpeg2Demultiplexer_CreateOutputPin(This,pMediaType,pszPinName,ppIPin)
  2249.     (This)->lpVtbl -> CreateOutputPin(This,pMediaType,pszPinName,ppIPin)
  2250. #define IMpeg2Demultiplexer_SetOutputPinMediaType(This,pszPinName,pMediaType)
  2251.     (This)->lpVtbl -> SetOutputPinMediaType(This,pszPinName,pMediaType)
  2252. #define IMpeg2Demultiplexer_DeleteOutputPin(This,pszPinName)
  2253.     (This)->lpVtbl -> DeleteOutputPin(This,pszPinName)
  2254. #endif /* COBJMACROS */
  2255. #endif  /* C style interface */
  2256. HRESULT STDMETHODCALLTYPE IMpeg2Demultiplexer_CreateOutputPin_Proxy( 
  2257.     IMpeg2Demultiplexer * This,
  2258.     /* [in] */ AM_MEDIA_TYPE *pMediaType,
  2259.     /* [in] */ LPWSTR pszPinName,
  2260.     /* [out] */ IPin **ppIPin);
  2261. void __RPC_STUB IMpeg2Demultiplexer_CreateOutputPin_Stub(
  2262.     IRpcStubBuffer *This,
  2263.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2264.     PRPC_MESSAGE _pRpcMessage,
  2265.     DWORD *_pdwStubPhase);
  2266. HRESULT STDMETHODCALLTYPE IMpeg2Demultiplexer_SetOutputPinMediaType_Proxy( 
  2267.     IMpeg2Demultiplexer * This,
  2268.     /* [in] */ LPWSTR pszPinName,
  2269.     /* [in] */ AM_MEDIA_TYPE *pMediaType);
  2270. void __RPC_STUB IMpeg2Demultiplexer_SetOutputPinMediaType_Stub(
  2271.     IRpcStubBuffer *This,
  2272.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2273.     PRPC_MESSAGE _pRpcMessage,
  2274.     DWORD *_pdwStubPhase);
  2275. HRESULT STDMETHODCALLTYPE IMpeg2Demultiplexer_DeleteOutputPin_Proxy( 
  2276.     IMpeg2Demultiplexer * This,
  2277.     /* [in] */ LPWSTR pszPinName);
  2278. void __RPC_STUB IMpeg2Demultiplexer_DeleteOutputPin_Stub(
  2279.     IRpcStubBuffer *This,
  2280.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2281.     PRPC_MESSAGE _pRpcMessage,
  2282.     DWORD *_pdwStubPhase);
  2283. #endif  /* __IMpeg2Demultiplexer_INTERFACE_DEFINED__ */
  2284. /* interface __MIDL_itf_strmif_0354 */
  2285. /* [local] */ 
  2286. #define MPEG2_PROGRAM_STREAM_MAP                 0x00000000
  2287. #define MPEG2_PROGRAM_ELEMENTARY_STREAM          0x00000001
  2288. #define MPEG2_PROGRAM_DIRECTORY_PES_PACKET       0x00000002
  2289. #define MPEG2_PROGRAM_PACK_HEADER                0x00000003
  2290. #define MPEG2_PROGRAM_PES_STREAM                 0x00000004
  2291. #define MPEG2_PROGRAM_SYSTEM_HEADER              0x00000005
  2292. #define SUBSTREAM_FILTER_VAL_NONE                0x10000000
  2293. typedef /* [public][public] */ struct __MIDL___MIDL_itf_strmif_0354_0001
  2294.     {
  2295.     ULONG stream_id;
  2296.     DWORD dwMediaSampleContent;
  2297.     ULONG ulSubstreamFilterValue;
  2298.     int iDataOffset;
  2299.     }  STREAM_ID_MAP;
  2300. extern RPC_IF_HANDLE __MIDL_itf_strmif_0354_v0_0_c_ifspec;
  2301. extern RPC_IF_HANDLE __MIDL_itf_strmif_0354_v0_0_s_ifspec;
  2302. #ifndef __IEnumStreamIdMap_INTERFACE_DEFINED__
  2303. #define __IEnumStreamIdMap_INTERFACE_DEFINED__
  2304. /* interface IEnumStreamIdMap */
  2305. /* [unique][uuid][local][object] */ 
  2306. EXTERN_C const IID IID_IEnumStreamIdMap;
  2307. #if defined(__cplusplus) && !defined(CINTERFACE)
  2308.     
  2309.     MIDL_INTERFACE("945C1566-6202-46fc-96C7-D87F289C6534")
  2310.     IEnumStreamIdMap : public IUnknown
  2311.     {
  2312.     public:
  2313.         virtual HRESULT STDMETHODCALLTYPE Next( 
  2314.             /* [in] */ ULONG cRequest,
  2315.             /* [size_is][out][in] */ STREAM_ID_MAP *pStreamIdMap,
  2316.             /* [out] */ ULONG *pcReceived) = 0;
  2317.         
  2318.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  2319.             /* [in] */ ULONG cRecords) = 0;
  2320.         
  2321.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  2322.         
  2323.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  2324.             /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;
  2325.         
  2326.     };
  2327.     
  2328. #else  /* C style interface */
  2329.     typedef struct IEnumStreamIdMapVtbl
  2330.     {
  2331.         BEGIN_INTERFACE
  2332.         
  2333.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2334.             IEnumStreamIdMap * This,
  2335.             /* [in] */ REFIID riid,
  2336.             /* [iid_is][out] */ void **ppvObject);
  2337.         
  2338.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2339.             IEnumStreamIdMap * This);
  2340.         
  2341.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2342.             IEnumStreamIdMap * This);
  2343.         
  2344.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  2345.             IEnumStreamIdMap * This,
  2346.             /* [in] */ ULONG cRequest,
  2347.             /* [size_is][out][in] */ STREAM_ID_MAP *pStreamIdMap,
  2348.             /* [out] */ ULONG *pcReceived);
  2349.         
  2350.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  2351.             IEnumStreamIdMap * This,
  2352.             /* [in] */ ULONG cRecords);
  2353.         
  2354.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  2355.             IEnumStreamIdMap * This);
  2356.         
  2357.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  2358.             IEnumStreamIdMap * This,
  2359.             /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
  2360.         
  2361.         END_INTERFACE
  2362.     } IEnumStreamIdMapVtbl;
  2363.     interface IEnumStreamIdMap
  2364.     {
  2365.         CONST_VTBL struct IEnumStreamIdMapVtbl *lpVtbl;
  2366.     };
  2367.     
  2368. #ifdef COBJMACROS
  2369. #define IEnumStreamIdMap_QueryInterface(This,riid,ppvObject)
  2370.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2371. #define IEnumStreamIdMap_AddRef(This)
  2372.     (This)->lpVtbl -> AddRef(This)
  2373. #define IEnumStreamIdMap_Release(This)
  2374.     (This)->lpVtbl -> Release(This)
  2375. #define IEnumStreamIdMap_Next(This,cRequest,pStreamIdMap,pcReceived)
  2376.     (This)->lpVtbl -> Next(This,cRequest,pStreamIdMap,pcReceived)
  2377. #define IEnumStreamIdMap_Skip(This,cRecords)
  2378.     (This)->lpVtbl -> Skip(This,cRecords)
  2379. #define IEnumStreamIdMap_Reset(This)
  2380.     (This)->lpVtbl -> Reset(This)
  2381. #define IEnumStreamIdMap_Clone(This,ppIEnumStreamIdMap)
  2382.     (This)->lpVtbl -> Clone(This,ppIEnumStreamIdMap)
  2383. #endif /* COBJMACROS */
  2384. #endif  /* C style interface */
  2385. HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Next_Proxy( 
  2386.     IEnumStreamIdMap * This,
  2387.     /* [in] */ ULONG cRequest,
  2388.     /* [size_is][out][in] */ STREAM_ID_MAP *pStreamIdMap,
  2389.     /* [out] */ ULONG *pcReceived);
  2390. void __RPC_STUB IEnumStreamIdMap_Next_Stub(
  2391.     IRpcStubBuffer *This,
  2392.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2393.     PRPC_MESSAGE _pRpcMessage,
  2394.     DWORD *_pdwStubPhase);
  2395. HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Skip_Proxy( 
  2396.     IEnumStreamIdMap * This,
  2397.     /* [in] */ ULONG cRecords);
  2398. void __RPC_STUB IEnumStreamIdMap_Skip_Stub(
  2399.     IRpcStubBuffer *This,
  2400.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2401.     PRPC_MESSAGE _pRpcMessage,
  2402.     DWORD *_pdwStubPhase);
  2403. HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Reset_Proxy( 
  2404.     IEnumStreamIdMap * This);
  2405. void __RPC_STUB IEnumStreamIdMap_Reset_Stub(
  2406.     IRpcStubBuffer *This,
  2407.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2408.     PRPC_MESSAGE _pRpcMessage,
  2409.     DWORD *_pdwStubPhase);
  2410. HRESULT STDMETHODCALLTYPE IEnumStreamIdMap_Clone_Proxy( 
  2411.     IEnumStreamIdMap * This,
  2412.     /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
  2413. void __RPC_STUB IEnumStreamIdMap_Clone_Stub(
  2414.     IRpcStubBuffer *This,
  2415.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2416.     PRPC_MESSAGE _pRpcMessage,
  2417.     DWORD *_pdwStubPhase);
  2418. #endif  /* __IEnumStreamIdMap_INTERFACE_DEFINED__ */
  2419. #ifndef __IMPEG2StreamIdMap_INTERFACE_DEFINED__
  2420. #define __IMPEG2StreamIdMap_INTERFACE_DEFINED__
  2421. /* interface IMPEG2StreamIdMap */
  2422. /* [unique][uuid][local][object] */ 
  2423. EXTERN_C const IID IID_IMPEG2StreamIdMap;
  2424. #if defined(__cplusplus) && !defined(CINTERFACE)
  2425.     
  2426.     MIDL_INTERFACE("D0E04C47-25B8-4369-925A-362A01D95444")
  2427.     IMPEG2StreamIdMap : public IUnknown
  2428.     {
  2429.     public:
  2430.         virtual HRESULT STDMETHODCALLTYPE MapStreamId( 
  2431.             /* [in] */ ULONG ulStreamId,
  2432.             /* [in] */ DWORD MediaSampleContent,
  2433.             /* [in] */ ULONG ulSubstreamFilterValue,
  2434.             /* [in] */ int iDataOffset) = 0;
  2435.         
  2436.         virtual HRESULT STDMETHODCALLTYPE UnmapStreamId( 
  2437.             /* [in] */ ULONG culStreamId,
  2438.             /* [in] */ ULONG *pulStreamId) = 0;
  2439.         
  2440.         virtual HRESULT STDMETHODCALLTYPE EnumStreamIdMap( 
  2441.             /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap) = 0;
  2442.         
  2443.     };
  2444.     
  2445. #else  /* C style interface */
  2446.     typedef struct IMPEG2StreamIdMapVtbl
  2447.     {
  2448.         BEGIN_INTERFACE
  2449.         
  2450.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2451.             IMPEG2StreamIdMap * This,
  2452.             /* [in] */ REFIID riid,
  2453.             /* [iid_is][out] */ void **ppvObject);
  2454.         
  2455.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2456.             IMPEG2StreamIdMap * This);
  2457.         
  2458.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2459.             IMPEG2StreamIdMap * This);
  2460.         
  2461.         HRESULT ( STDMETHODCALLTYPE *MapStreamId )( 
  2462.             IMPEG2StreamIdMap * This,
  2463.             /* [in] */ ULONG ulStreamId,
  2464.             /* [in] */ DWORD MediaSampleContent,
  2465.             /* [in] */ ULONG ulSubstreamFilterValue,
  2466.             /* [in] */ int iDataOffset);
  2467.         
  2468.         HRESULT ( STDMETHODCALLTYPE *UnmapStreamId )( 
  2469.             IMPEG2StreamIdMap * This,
  2470.             /* [in] */ ULONG culStreamId,
  2471.             /* [in] */ ULONG *pulStreamId);
  2472.         
  2473.         HRESULT ( STDMETHODCALLTYPE *EnumStreamIdMap )( 
  2474.             IMPEG2StreamIdMap * This,
  2475.             /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
  2476.         
  2477.         END_INTERFACE
  2478.     } IMPEG2StreamIdMapVtbl;
  2479.     interface IMPEG2StreamIdMap
  2480.     {
  2481.         CONST_VTBL struct IMPEG2StreamIdMapVtbl *lpVtbl;
  2482.     };
  2483.     
  2484. #ifdef COBJMACROS
  2485. #define IMPEG2StreamIdMap_QueryInterface(This,riid,ppvObject)
  2486.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2487. #define IMPEG2StreamIdMap_AddRef(This)
  2488.     (This)->lpVtbl -> AddRef(This)
  2489. #define IMPEG2StreamIdMap_Release(This)
  2490.     (This)->lpVtbl -> Release(This)
  2491. #define IMPEG2StreamIdMap_MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset)
  2492.     (This)->lpVtbl -> MapStreamId(This,ulStreamId,MediaSampleContent,ulSubstreamFilterValue,iDataOffset)
  2493. #define IMPEG2StreamIdMap_UnmapStreamId(This,culStreamId,pulStreamId)
  2494.     (This)->lpVtbl -> UnmapStreamId(This,culStreamId,pulStreamId)
  2495. #define IMPEG2StreamIdMap_EnumStreamIdMap(This,ppIEnumStreamIdMap)
  2496.     (This)->lpVtbl -> EnumStreamIdMap(This,ppIEnumStreamIdMap)
  2497. #endif /* COBJMACROS */
  2498. #endif  /* C style interface */
  2499. HRESULT STDMETHODCALLTYPE IMPEG2StreamIdMap_MapStreamId_Proxy( 
  2500.     IMPEG2StreamIdMap * This,
  2501.     /* [in] */ ULONG ulStreamId,
  2502.     /* [in] */ DWORD MediaSampleContent,
  2503.     /* [in] */ ULONG ulSubstreamFilterValue,
  2504.     /* [in] */ int iDataOffset);
  2505. void __RPC_STUB IMPEG2StreamIdMap_MapStreamId_Stub(
  2506.     IRpcStubBuffer *This,
  2507.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2508.     PRPC_MESSAGE _pRpcMessage,
  2509.     DWORD *_pdwStubPhase);
  2510. HRESULT STDMETHODCALLTYPE IMPEG2StreamIdMap_UnmapStreamId_Proxy( 
  2511.     IMPEG2StreamIdMap * This,
  2512.     /* [in] */ ULONG culStreamId,
  2513.     /* [in] */ ULONG *pulStreamId);
  2514. void __RPC_STUB IMPEG2StreamIdMap_UnmapStreamId_Stub(
  2515.     IRpcStubBuffer *This,
  2516.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2517.     PRPC_MESSAGE _pRpcMessage,
  2518.     DWORD *_pdwStubPhase);
  2519. HRESULT STDMETHODCALLTYPE IMPEG2StreamIdMap_EnumStreamIdMap_Proxy( 
  2520.     IMPEG2StreamIdMap * This,
  2521.     /* [out] */ IEnumStreamIdMap **ppIEnumStreamIdMap);
  2522. void __RPC_STUB IMPEG2StreamIdMap_EnumStreamIdMap_Stub(
  2523.     IRpcStubBuffer *This,
  2524.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2525.     PRPC_MESSAGE _pRpcMessage,
  2526.     DWORD *_pdwStubPhase);
  2527. #endif  /* __IMPEG2StreamIdMap_INTERFACE_DEFINED__ */
  2528. #ifndef __IRegisterServiceProvider_INTERFACE_DEFINED__
  2529. #define __IRegisterServiceProvider_INTERFACE_DEFINED__
  2530. /* interface IRegisterServiceProvider */
  2531. /* [unique][uuid][local][object] */ 
  2532. EXTERN_C const IID IID_IRegisterServiceProvider;
  2533. #if defined(__cplusplus) && !defined(CINTERFACE)
  2534.     
  2535.     MIDL_INTERFACE("7B3A2F01-0751-48DD-B556-004785171C54")
  2536.     IRegisterServiceProvider : public IUnknown
  2537.     {
  2538.     public:
  2539.         virtual HRESULT STDMETHODCALLTYPE RegisterService( 
  2540.             /* [in] */ REFGUID guidService,
  2541.             /* [in] */ IUnknown *pUnkObject) = 0;
  2542.         
  2543.     };
  2544.     
  2545. #else  /* C style interface */
  2546.     typedef struct IRegisterServiceProviderVtbl
  2547.     {
  2548.         BEGIN_INTERFACE
  2549.         
  2550.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2551.             IRegisterServiceProvider * This,
  2552.             /* [in] */ REFIID riid,
  2553.             /* [iid_is][out] */ void **ppvObject);
  2554.         
  2555.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2556.             IRegisterServiceProvider * This);
  2557.         
  2558.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2559.             IRegisterServiceProvider * This);
  2560.         
  2561.         HRESULT ( STDMETHODCALLTYPE *RegisterService )( 
  2562.             IRegisterServiceProvider * This,
  2563.             /* [in] */ REFGUID guidService,
  2564.             /* [in] */ IUnknown *pUnkObject);
  2565.         
  2566.         END_INTERFACE
  2567.     } IRegisterServiceProviderVtbl;
  2568.     interface IRegisterServiceProvider
  2569.     {
  2570.         CONST_VTBL struct IRegisterServiceProviderVtbl *lpVtbl;
  2571.     };
  2572.     
  2573. #ifdef COBJMACROS
  2574. #define IRegisterServiceProvider_QueryInterface(This,riid,ppvObject)
  2575.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2576. #define IRegisterServiceProvider_AddRef(This)
  2577.     (This)->lpVtbl -> AddRef(This)
  2578. #define IRegisterServiceProvider_Release(This)
  2579.     (This)->lpVtbl -> Release(This)
  2580. #define IRegisterServiceProvider_RegisterService(This,guidService,pUnkObject)
  2581.     (This)->lpVtbl -> RegisterService(This,guidService,pUnkObject)
  2582. #endif /* COBJMACROS */
  2583. #endif  /* C style interface */
  2584. HRESULT STDMETHODCALLTYPE IRegisterServiceProvider_RegisterService_Proxy( 
  2585.     IRegisterServiceProvider * This,
  2586.     /* [in] */ REFGUID guidService,
  2587.     /* [in] */ IUnknown *pUnkObject);
  2588. void __RPC_STUB IRegisterServiceProvider_RegisterService_Stub(
  2589.     IRpcStubBuffer *This,
  2590.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2591.     PRPC_MESSAGE _pRpcMessage,
  2592.     DWORD *_pdwStubPhase);
  2593. #endif  /* __IRegisterServiceProvider_INTERFACE_DEFINED__ */
  2594. /* interface __MIDL_itf_strmif_0357 */
  2595. /* [local] */ 
  2596. #define AM_GETDECODERCAP_QUERY_VMR_SUPPORT   0x00000001
  2597. #define      VMR_NOTSUPPORTED                0x00000000
  2598. #define      VMR_SUPPORTED                   0x00000001
  2599. #define AM_QUERY_DECODER_VMR_SUPPORT         0x00000001
  2600. #define AM_QUERY_DECODER_DXVA_1_SUPPORT      0x00000002
  2601. #define AM_QUERY_DECODER_DVD_SUPPORT         0x00000003
  2602. #define AM_QUERY_DECODER_ATSC_SD_SUPPORT     0x00000004
  2603. #define AM_QUERY_DECODER_ATSC_HD_SUPPORT     0x00000005
  2604. #define      DECODER_CAP_NOTSUPPORTED        0x00000000
  2605. #define      DECODER_CAP_SUPPORTED           0x00000001
  2606. extern RPC_IF_HANDLE __MIDL_itf_strmif_0357_v0_0_c_ifspec;
  2607. extern RPC_IF_HANDLE __MIDL_itf_strmif_0357_v0_0_s_ifspec;
  2608. #ifndef __IAMDecoderCaps_INTERFACE_DEFINED__
  2609. #define __IAMDecoderCaps_INTERFACE_DEFINED__
  2610. /* interface IAMDecoderCaps */
  2611. /* [unique][uuid][local][object] */ 
  2612. EXTERN_C const IID IID_IAMDecoderCaps;
  2613. #if defined(__cplusplus) && !defined(CINTERFACE)
  2614.     
  2615.     MIDL_INTERFACE("c0dff467-d499-4986-972b-e1d9090fa941")
  2616.     IAMDecoderCaps : public IUnknown
  2617.     {
  2618.     public:
  2619.         virtual HRESULT STDMETHODCALLTYPE GetDecoderCaps( 
  2620.             /* [in] */ DWORD dwCapIndex,
  2621.             /* [out] */ DWORD *lpdwCap) = 0;
  2622.         
  2623.     };
  2624.     
  2625. #else  /* C style interface */
  2626.     typedef struct IAMDecoderCapsVtbl
  2627.     {
  2628.         BEGIN_INTERFACE
  2629.         
  2630.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2631.             IAMDecoderCaps * This,
  2632.             /* [in] */ REFIID riid,
  2633.             /* [iid_is][out] */ void **ppvObject);
  2634.         
  2635.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2636.             IAMDecoderCaps * This);
  2637.         
  2638.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2639.             IAMDecoderCaps * This);
  2640.         
  2641.         HRESULT ( STDMETHODCALLTYPE *GetDecoderCaps )( 
  2642.             IAMDecoderCaps * This,
  2643.             /* [in] */ DWORD dwCapIndex,
  2644.             /* [out] */ DWORD *lpdwCap);
  2645.         
  2646.         END_INTERFACE
  2647.     } IAMDecoderCapsVtbl;
  2648.     interface IAMDecoderCaps
  2649.     {
  2650.         CONST_VTBL struct IAMDecoderCapsVtbl *lpVtbl;
  2651.     };
  2652.     
  2653. #ifdef COBJMACROS
  2654. #define IAMDecoderCaps_QueryInterface(This,riid,ppvObject)
  2655.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2656. #define IAMDecoderCaps_AddRef(This)
  2657.     (This)->lpVtbl -> AddRef(This)
  2658. #define IAMDecoderCaps_Release(This)
  2659.     (This)->lpVtbl -> Release(This)
  2660. #define IAMDecoderCaps_GetDecoderCaps(This,dwCapIndex,lpdwCap)
  2661.     (This)->lpVtbl -> GetDecoderCaps(This,dwCapIndex,lpdwCap)
  2662. #endif /* COBJMACROS */
  2663. #endif  /* C style interface */
  2664. HRESULT STDMETHODCALLTYPE IAMDecoderCaps_GetDecoderCaps_Proxy( 
  2665.     IAMDecoderCaps * This,
  2666.     /* [in] */ DWORD dwCapIndex,
  2667.     /* [out] */ DWORD *lpdwCap);
  2668. void __RPC_STUB IAMDecoderCaps_GetDecoderCaps_Stub(
  2669.     IRpcStubBuffer *This,
  2670.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2671.     PRPC_MESSAGE _pRpcMessage,
  2672.     DWORD *_pdwStubPhase);
  2673. #endif  /* __IAMDecoderCaps_INTERFACE_DEFINED__ */
  2674. #ifndef __IAMClockSlave_INTERFACE_DEFINED__
  2675. #define __IAMClockSlave_INTERFACE_DEFINED__
  2676. /* interface IAMClockSlave */
  2677. /* [unique][uuid][object] */ 
  2678. EXTERN_C const IID IID_IAMClockSlave;
  2679. #if defined(__cplusplus) && !defined(CINTERFACE)
  2680.     
  2681.     MIDL_INTERFACE("9FD52741-176D-4b36-8F51-CA8F933223BE")
  2682.     IAMClockSlave : public IUnknown
  2683.     {
  2684.     public:
  2685.         virtual HRESULT STDMETHODCALLTYPE SetErrorTolerance( 
  2686.             /* [in] */ DWORD dwTolerance) = 0;
  2687.         
  2688.         virtual HRESULT STDMETHODCALLTYPE GetErrorTolerance( 
  2689.             /* [out] */ DWORD *pdwTolerance) = 0;
  2690.         
  2691.     };
  2692.     
  2693. #else  /* C style interface */
  2694.     typedef struct IAMClockSlaveVtbl
  2695.     {
  2696.         BEGIN_INTERFACE
  2697.         
  2698.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2699.             IAMClockSlave * This,
  2700.             /* [in] */ REFIID riid,
  2701.             /* [iid_is][out] */ void **ppvObject);
  2702.         
  2703.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2704.             IAMClockSlave * This);
  2705.         
  2706.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2707.             IAMClockSlave * This);
  2708.         
  2709.         HRESULT ( STDMETHODCALLTYPE *SetErrorTolerance )( 
  2710.             IAMClockSlave * This,
  2711.             /* [in] */ DWORD dwTolerance);
  2712.         
  2713.         HRESULT ( STDMETHODCALLTYPE *GetErrorTolerance )( 
  2714.             IAMClockSlave * This,
  2715.             /* [out] */ DWORD *pdwTolerance);
  2716.         
  2717.         END_INTERFACE
  2718.     } IAMClockSlaveVtbl;
  2719.     interface IAMClockSlave
  2720.     {
  2721.         CONST_VTBL struct IAMClockSlaveVtbl *lpVtbl;
  2722.     };
  2723.     
  2724. #ifdef COBJMACROS
  2725. #define IAMClockSlave_QueryInterface(This,riid,ppvObject)
  2726.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2727. #define IAMClockSlave_AddRef(This)
  2728.     (This)->lpVtbl -> AddRef(This)
  2729. #define IAMClockSlave_Release(This)
  2730.     (This)->lpVtbl -> Release(This)
  2731. #define IAMClockSlave_SetErrorTolerance(This,dwTolerance)
  2732.     (This)->lpVtbl -> SetErrorTolerance(This,dwTolerance)
  2733. #define IAMClockSlave_GetErrorTolerance(This,pdwTolerance)
  2734.     (This)->lpVtbl -> GetErrorTolerance(This,pdwTolerance)
  2735. #endif /* COBJMACROS */
  2736. #endif  /* C style interface */
  2737. HRESULT STDMETHODCALLTYPE IAMClockSlave_SetErrorTolerance_Proxy( 
  2738.     IAMClockSlave * This,
  2739.     /* [in] */ DWORD dwTolerance);
  2740. void __RPC_STUB IAMClockSlave_SetErrorTolerance_Stub(
  2741.     IRpcStubBuffer *This,
  2742.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2743.     PRPC_MESSAGE _pRpcMessage,
  2744.     DWORD *_pdwStubPhase);
  2745. HRESULT STDMETHODCALLTYPE IAMClockSlave_GetErrorTolerance_Proxy( 
  2746.     IAMClockSlave * This,
  2747.     /* [out] */ DWORD *pdwTolerance);
  2748. void __RPC_STUB IAMClockSlave_GetErrorTolerance_Stub(
  2749.     IRpcStubBuffer *This,
  2750.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2751.     PRPC_MESSAGE _pRpcMessage,
  2752.     DWORD *_pdwStubPhase);
  2753. #endif  /* __IAMClockSlave_INTERFACE_DEFINED__ */
  2754. /* interface __MIDL_itf_strmif_0359 */
  2755. /* [local] */ 
  2756. #include <ddraw.h>
  2757. typedef 
  2758. enum tagDVD_DOMAIN
  2759.     { DVD_DOMAIN_FirstPlay = 1,
  2760. DVD_DOMAIN_VideoManagerMenu = DVD_DOMAIN_FirstPlay + 1,
  2761. DVD_DOMAIN_VideoTitleSetMenu = DVD_DOMAIN_VideoManagerMenu + 1,
  2762. DVD_DOMAIN_Title = DVD_DOMAIN_VideoTitleSetMenu + 1,
  2763. DVD_DOMAIN_Stop = DVD_DOMAIN_Title + 1
  2764.     }  DVD_DOMAIN;
  2765. typedef 
  2766. enum tagDVD_MENU_ID
  2767.     { DVD_MENU_Title = 2,
  2768. DVD_MENU_Root = 3,
  2769. DVD_MENU_Subpicture = 4,
  2770. DVD_MENU_Audio = 5,
  2771. DVD_MENU_Angle = 6,
  2772. DVD_MENU_Chapter = 7
  2773.     }  DVD_MENU_ID;
  2774. typedef 
  2775. enum tagDVD_DISC_SIDE
  2776.     { DVD_SIDE_A = 1,
  2777. DVD_SIDE_B = 2
  2778.     }  DVD_DISC_SIDE;
  2779. typedef 
  2780. enum tagDVD_PREFERRED_DISPLAY_MODE
  2781.     { DISPLAY_CONTENT_DEFAULT = 0,
  2782. DISPLAY_16x9 = 1,
  2783. DISPLAY_4x3_PANSCAN_PREFERRED = 2,
  2784. DISPLAY_4x3_LETTERBOX_PREFERRED = 3
  2785.     }  DVD_PREFERRED_DISPLAY_MODE;
  2786. typedef WORD DVD_REGISTER;
  2787. typedef DVD_REGISTER GPRMARRAY[ 16 ];
  2788. typedef DVD_REGISTER SPRMARRAY[ 24 ];
  2789. typedef struct tagDVD_ATR
  2790.     {
  2791.     ULONG ulCAT;
  2792.     BYTE pbATRI[ 768 ];
  2793.     }  DVD_ATR;
  2794. typedef BYTE DVD_VideoATR[ 2 ];
  2795. typedef BYTE DVD_AudioATR[ 8 ];
  2796. typedef BYTE DVD_SubpictureATR[ 6 ];
  2797. typedef 
  2798. enum tagDVD_FRAMERATE
  2799.     { DVD_FPS_25 = 1,
  2800. DVD_FPS_30NonDrop = 3
  2801.     }  DVD_FRAMERATE;
  2802. typedef struct tagDVD_TIMECODE
  2803. {
  2804.    ULONG Hours1    :4; // Hours
  2805.    ULONG Hours10  :4; // Tens of Hours 
  2806.    ULONG Minutes1  :4; // Minutes 
  2807.    ULONG Minutes10:4; // Tens of Minutes 
  2808.    ULONG Seconds1  :4; // Seconds 
  2809.    ULONG Seconds10:4; // Tens of Seconds 
  2810.    ULONG Frames1   :4; // Frames 
  2811.    ULONG Frames10 :2; // Tens of Frames 
  2812.    ULONG FrameRateCode: 2; // use DVD_FRAMERATE to indicate frames/sec and drop/non-drop
  2813. } DVD_TIMECODE;
  2814. typedef 
  2815. enum tagDVD_TIMECODE_FLAGS
  2816.     { DVD_TC_FLAG_25fps = 0x1,
  2817. DVD_TC_FLAG_30fps = 0x2,
  2818. DVD_TC_FLAG_DropFrame = 0x4,
  2819. DVD_TC_FLAG_Interpolated = 0x8
  2820.     }  DVD_TIMECODE_FLAGS;
  2821. typedef struct tagDVD_HMSF_TIMECODE
  2822.     {
  2823.     BYTE bHours;
  2824.     BYTE bMinutes;
  2825.     BYTE bSeconds;
  2826.     BYTE bFrames;
  2827.     }  DVD_HMSF_TIMECODE;
  2828. typedef struct tagDVD_PLAYBACK_LOCATION2
  2829.     {
  2830.     ULONG TitleNum;
  2831.     ULONG ChapterNum;
  2832.     DVD_HMSF_TIMECODE TimeCode;
  2833.     ULONG TimeCodeFlags;
  2834.     }  DVD_PLAYBACK_LOCATION2;
  2835. typedef struct tagDVD_PLAYBACK_LOCATION
  2836.     {
  2837.     ULONG TitleNum;
  2838.     ULONG ChapterNum;
  2839.     ULONG TimeCode;
  2840.     }  DVD_PLAYBACK_LOCATION;
  2841. typedef DWORD VALID_UOP_SOMTHING_OR_OTHER;
  2842. typedef /* [public] */ 
  2843. enum __MIDL___MIDL_itf_strmif_0359_0001
  2844.     { UOP_FLAG_Play_Title_Or_AtTime = 0x1,
  2845. UOP_FLAG_Play_Chapter = 0x2,
  2846. UOP_FLAG_Play_Title = 0x4,
  2847. UOP_FLAG_Stop = 0x8,
  2848. UOP_FLAG_ReturnFromSubMenu = 0x10,
  2849. UOP_FLAG_Play_Chapter_Or_AtTime = 0x20,
  2850. UOP_FLAG_PlayPrev_Or_Replay_Chapter = 0x40,
  2851. UOP_FLAG_PlayNext_Chapter = 0x80,
  2852. UOP_FLAG_Play_Forwards = 0x100,
  2853. UOP_FLAG_Play_Backwards = 0x200,
  2854. UOP_FLAG_ShowMenu_Title = 0x400,
  2855. UOP_FLAG_ShowMenu_Root = 0x800,
  2856. UOP_FLAG_ShowMenu_SubPic = 0x1000,
  2857. UOP_FLAG_ShowMenu_Audio = 0x2000,
  2858. UOP_FLAG_ShowMenu_Angle = 0x4000,
  2859. UOP_FLAG_ShowMenu_Chapter = 0x8000,
  2860. UOP_FLAG_Resume = 0x10000,
  2861. UOP_FLAG_Select_Or_Activate_Button = 0x20000,
  2862. UOP_FLAG_Still_Off = 0x40000,
  2863. UOP_FLAG_Pause_On = 0x80000,
  2864. UOP_FLAG_Select_Audio_Stream = 0x100000,
  2865. UOP_FLAG_Select_SubPic_Stream = 0x200000,
  2866. UOP_FLAG_Select_Angle = 0x400000,
  2867. UOP_FLAG_Select_Karaoke_Audio_Presentation_Mode = 0x800000,
  2868. UOP_FLAG_Select_Video_Mode_Preference = 0x1000000
  2869.     }  VALID_UOP_FLAG;
  2870. typedef /* [public] */ 
  2871. enum __MIDL___MIDL_itf_strmif_0359_0002
  2872.     { DVD_CMD_FLAG_None = 0,
  2873. DVD_CMD_FLAG_Flush = 0x1,
  2874. DVD_CMD_FLAG_SendEvents = 0x2,
  2875. DVD_CMD_FLAG_Block = 0x4,
  2876. DVD_CMD_FLAG_StartWhenRendered = 0x8,
  2877. DVD_CMD_FLAG_EndAfterRendered = 0x10
  2878.     }  DVD_CMD_FLAGS;
  2879. typedef /* [public][public] */ 
  2880. enum __MIDL___MIDL_itf_strmif_0359_0003
  2881.     { DVD_ResetOnStop = 1,
  2882. DVD_NotifyParentalLevelChange = 2,
  2883. DVD_HMSF_TimeCodeEvents = 3
  2884.     }  DVD_OPTION_FLAG;
  2885. typedef /* [public][public] */ 
  2886. enum __MIDL___MIDL_itf_strmif_0359_0004
  2887.     { DVD_Relative_Upper = 1,
  2888. DVD_Relative_Lower = 2,
  2889. DVD_Relative_Left = 3,
  2890. DVD_Relative_Right = 4
  2891.     }  DVD_RELATIVE_BUTTON;
  2892. typedef 
  2893. enum tagDVD_PARENTAL_LEVEL
  2894.     { DVD_PARENTAL_LEVEL_8 = 0x8000,
  2895. DVD_PARENTAL_LEVEL_7 = 0x4000,
  2896. DVD_PARENTAL_LEVEL_6 = 0x2000,
  2897. DVD_PARENTAL_LEVEL_5 = 0x1000,
  2898. DVD_PARENTAL_LEVEL_4 = 0x800,
  2899. DVD_PARENTAL_LEVEL_3 = 0x400,
  2900. DVD_PARENTAL_LEVEL_2 = 0x200,
  2901. DVD_PARENTAL_LEVEL_1 = 0x100
  2902.     }  DVD_PARENTAL_LEVEL;
  2903. typedef 
  2904. enum tagDVD_AUDIO_LANG_EXT
  2905.     { DVD_AUD_EXT_NotSpecified = 0,
  2906. DVD_AUD_EXT_Captions = 1,
  2907. DVD_AUD_EXT_VisuallyImpaired = 2,
  2908. DVD_AUD_EXT_DirectorComments1 = 3,
  2909. DVD_AUD_EXT_DirectorComments2 = 4
  2910.     }  DVD_AUDIO_LANG_EXT;
  2911. typedef 
  2912. enum tagDVD_SUBPICTURE_LANG_EXT
  2913.     { DVD_SP_EXT_NotSpecified = 0,
  2914. DVD_SP_EXT_Caption_Normal = 1,
  2915. DVD_SP_EXT_Caption_Big = 2,
  2916. DVD_SP_EXT_Caption_Children = 3,
  2917. DVD_SP_EXT_CC_Normal = 5,
  2918. DVD_SP_EXT_CC_Big = 6,
  2919. DVD_SP_EXT_CC_Children = 7,
  2920. DVD_SP_EXT_Forced = 9,
  2921. DVD_SP_EXT_DirectorComments_Normal = 13,
  2922. DVD_SP_EXT_DirectorComments_Big = 14,
  2923. DVD_SP_EXT_DirectorComments_Children = 15
  2924.     }  DVD_SUBPICTURE_LANG_EXT;
  2925. typedef 
  2926. enum tagDVD_AUDIO_APPMODE
  2927.     { DVD_AudioMode_None = 0,
  2928. DVD_AudioMode_Karaoke = 1,
  2929. DVD_AudioMode_Surround = 2,
  2930. DVD_AudioMode_Other = 3
  2931.     }  DVD_AUDIO_APPMODE;
  2932. typedef 
  2933. enum tagDVD_AUDIO_FORMAT
  2934.     { DVD_AudioFormat_AC3 = 0,
  2935. DVD_AudioFormat_MPEG1 = 1,
  2936. DVD_AudioFormat_MPEG1_DRC = 2,
  2937. DVD_AudioFormat_MPEG2 = 3,
  2938. DVD_AudioFormat_MPEG2_DRC = 4,
  2939. DVD_AudioFormat_LPCM = 5,
  2940. DVD_AudioFormat_DTS = 6,
  2941. DVD_AudioFormat_SDDS = 7,
  2942. DVD_AudioFormat_Other = 8
  2943.     }  DVD_AUDIO_FORMAT;
  2944. typedef 
  2945. enum tagDVD_KARAOKE_DOWNMIX
  2946.     { DVD_Mix_0to0 = 0x1,
  2947. DVD_Mix_1to0 = 0x2,
  2948. DVD_Mix_2to0 = 0x4,
  2949. DVD_Mix_3to0 = 0x8,
  2950. DVD_Mix_4to0 = 0x10,
  2951. DVD_Mix_Lto0 = 0x20,
  2952. DVD_Mix_Rto0 = 0x40,
  2953. DVD_Mix_0to1 = 0x100,
  2954. DVD_Mix_1to1 = 0x200,
  2955. DVD_Mix_2to1 = 0x400,
  2956. DVD_Mix_3to1 = 0x800,
  2957. DVD_Mix_4to1 = 0x1000,
  2958. DVD_Mix_Lto1 = 0x2000,
  2959. DVD_Mix_Rto1 = 0x4000
  2960.     }  DVD_KARAOKE_DOWNMIX;
  2961. typedef struct tagDVD_AudioAttributes
  2962.     {
  2963.     DVD_AUDIO_APPMODE AppMode;
  2964.     BYTE AppModeData;
  2965.     DVD_AUDIO_FORMAT AudioFormat;
  2966.     LCID Language;
  2967.     DVD_AUDIO_LANG_EXT LanguageExtension;
  2968.     BOOL fHasMultichannelInfo;
  2969.     DWORD dwFrequency;
  2970.     BYTE bQuantization;
  2971.     BYTE bNumberOfChannels;
  2972.     DWORD dwReserved[ 2 ];
  2973.     }  DVD_AudioAttributes;
  2974. typedef struct tagDVD_MUA_MixingInfo
  2975.     {
  2976.     BOOL fMixTo0;
  2977.     BOOL fMixTo1;
  2978.     BOOL fMix0InPhase;
  2979.     BOOL fMix1InPhase;
  2980.     DWORD dwSpeakerPosition;
  2981.     }  DVD_MUA_MixingInfo;
  2982. typedef struct tagDVD_MUA_Coeff
  2983.     {
  2984.     double log2_alpha;
  2985.     double log2_beta;
  2986.     }  DVD_MUA_Coeff;
  2987. typedef struct tagDVD_MultichannelAudioAttributes
  2988.     {
  2989.     DVD_MUA_MixingInfo Info[ 8 ];
  2990.     DVD_MUA_Coeff Coeff[ 8 ];
  2991.     }  DVD_MultichannelAudioAttributes;
  2992. typedef 
  2993. enum tagDVD_KARAOKE_CONTENTS
  2994.     { DVD_Karaoke_GuideVocal1 = 0x1,
  2995. DVD_Karaoke_GuideVocal2 = 0x2,
  2996. DVD_Karaoke_GuideMelody1 = 0x4,
  2997. DVD_Karaoke_GuideMelody2 = 0x8,
  2998. DVD_Karaoke_GuideMelodyA = 0x10,
  2999. DVD_Karaoke_GuideMelodyB = 0x20,
  3000. DVD_Karaoke_SoundEffectA = 0x40,
  3001. DVD_Karaoke_SoundEffectB = 0x80
  3002.     }  DVD_KARAOKE_CONTENTS;
  3003. typedef 
  3004. enum tagDVD_KARAOKE_ASSIGNMENT
  3005.     { DVD_Assignment_reserved0 = 0,
  3006. DVD_Assignment_reserved1 = 1,
  3007. DVD_Assignment_LR = 2,
  3008. DVD_Assignment_LRM = 3,
  3009. DVD_Assignment_LR1 = 4,
  3010. DVD_Assignment_LRM1 = 5,
  3011. DVD_Assignment_LR12 = 6,
  3012. DVD_Assignment_LRM12 = 7
  3013.     }  DVD_KARAOKE_ASSIGNMENT;
  3014. typedef struct tagDVD_KaraokeAttributes
  3015.     {
  3016.     BYTE bVersion;
  3017.     BOOL fMasterOfCeremoniesInGuideVocal1;
  3018.     BOOL fDuet;
  3019.     DVD_KARAOKE_ASSIGNMENT ChannelAssignment;
  3020.     WORD wChannelContents[ 8 ];
  3021.     }  DVD_KaraokeAttributes;
  3022. typedef 
  3023. enum tagDVD_VIDEO_COMPRESSION
  3024.     { DVD_VideoCompression_Other = 0,
  3025. DVD_VideoCompression_MPEG1 = 1,
  3026. DVD_VideoCompression_MPEG2 = 2
  3027.     }  DVD_VIDEO_COMPRESSION;
  3028. typedef struct tagDVD_VideoAttributes
  3029.     {
  3030.     BOOL fPanscanPermitted;
  3031.     BOOL fLetterboxPermitted;
  3032.     ULONG ulAspectX;
  3033.     ULONG ulAspectY;
  3034.     ULONG ulFrameRate;
  3035.     ULONG ulFrameHeight;
  3036.     DVD_VIDEO_COMPRESSION Compression;
  3037.     BOOL fLine21Field1InGOP;
  3038.     BOOL fLine21Field2InGOP;
  3039.     ULONG ulSourceResolutionX;
  3040.     ULONG ulSourceResolutionY;
  3041.     BOOL fIsSourceLetterboxed;
  3042.     BOOL fIsFilmMode;
  3043.     }  DVD_VideoAttributes;
  3044. typedef 
  3045. enum tagDVD_SUBPICTURE_TYPE
  3046.     { DVD_SPType_NotSpecified = 0,
  3047. DVD_SPType_Language = 1,
  3048. DVD_SPType_Other = 2
  3049.     }  DVD_SUBPICTURE_TYPE;
  3050. typedef 
  3051. enum tagDVD_SUBPICTURE_CODING
  3052.     { DVD_SPCoding_RunLength = 0,
  3053. DVD_SPCoding_Extended = 1,
  3054. DVD_SPCoding_Other = 2
  3055.     }  DVD_SUBPICTURE_CODING;
  3056. typedef struct tagDVD_SubpictureAttributes
  3057.     {
  3058.     DVD_SUBPICTURE_TYPE Type;
  3059.     DVD_SUBPICTURE_CODING CodingMode;
  3060.     LCID Language;
  3061.     DVD_SUBPICTURE_LANG_EXT LanguageExtension;
  3062.     }  DVD_SubpictureAttributes;
  3063. typedef 
  3064. enum tagDVD_TITLE_APPMODE
  3065.     { DVD_AppMode_Not_Specified = 0,
  3066. DVD_AppMode_Karaoke = 1,
  3067. DVD_AppMode_Other = 3