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

模拟服务器

开发平台:

C/C++

  1. extern RPC_IF_HANDLE __MIDL_itf_strmif_0170_v0_0_s_ifspec;
  2. #ifndef __IAMVideoControl_INTERFACE_DEFINED__
  3. #define __IAMVideoControl_INTERFACE_DEFINED__
  4. /* interface IAMVideoControl */
  5. /* [unique][uuid][object] */ 
  6. EXTERN_C const IID IID_IAMVideoControl;
  7. #if defined(__cplusplus) && !defined(CINTERFACE)
  8.     
  9.     MIDL_INTERFACE("6a2e0670-28e4-11d0-a18c-00a0c9118956")
  10.     IAMVideoControl : public IUnknown
  11.     {
  12.     public:
  13.         virtual HRESULT STDMETHODCALLTYPE GetCaps( 
  14.             /* [in] */ IPin *pPin,
  15.             /* [out] */ long *pCapsFlags) = 0;
  16.         
  17.         virtual HRESULT STDMETHODCALLTYPE SetMode( 
  18.             /* [in] */ IPin *pPin,
  19.             /* [in] */ long Mode) = 0;
  20.         
  21.         virtual HRESULT STDMETHODCALLTYPE GetMode( 
  22.             /* [in] */ IPin *pPin,
  23.             /* [out] */ long *Mode) = 0;
  24.         
  25.         virtual HRESULT STDMETHODCALLTYPE GetCurrentActualFrameRate( 
  26.             /* [in] */ IPin *pPin,
  27.             /* [out] */ LONGLONG *ActualFrameRate) = 0;
  28.         
  29.         virtual HRESULT STDMETHODCALLTYPE GetMaxAvailableFrameRate( 
  30.             /* [in] */ IPin *pPin,
  31.             /* [in] */ long iIndex,
  32.             /* [in] */ SIZE Dimensions,
  33.             /* [out] */ LONGLONG *MaxAvailableFrameRate) = 0;
  34.         
  35.         virtual HRESULT STDMETHODCALLTYPE GetFrameRateList( 
  36.             /* [in] */ IPin *pPin,
  37.             /* [in] */ long iIndex,
  38.             /* [in] */ SIZE Dimensions,
  39.             /* [out] */ long *ListSize,
  40.             /* [out] */ LONGLONG **FrameRates) = 0;
  41.         
  42.     };
  43.     
  44. #else  /* C style interface */
  45.     typedef struct IAMVideoControlVtbl
  46.     {
  47.         BEGIN_INTERFACE
  48.         
  49.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  50.             IAMVideoControl * This,
  51.             /* [in] */ REFIID riid,
  52.             /* [iid_is][out] */ void **ppvObject);
  53.         
  54.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  55.             IAMVideoControl * This);
  56.         
  57.         ULONG ( STDMETHODCALLTYPE *Release )( 
  58.             IAMVideoControl * This);
  59.         
  60.         HRESULT ( STDMETHODCALLTYPE *GetCaps )( 
  61.             IAMVideoControl * This,
  62.             /* [in] */ IPin *pPin,
  63.             /* [out] */ long *pCapsFlags);
  64.         
  65.         HRESULT ( STDMETHODCALLTYPE *SetMode )( 
  66.             IAMVideoControl * This,
  67.             /* [in] */ IPin *pPin,
  68.             /* [in] */ long Mode);
  69.         
  70.         HRESULT ( STDMETHODCALLTYPE *GetMode )( 
  71.             IAMVideoControl * This,
  72.             /* [in] */ IPin *pPin,
  73.             /* [out] */ long *Mode);
  74.         
  75.         HRESULT ( STDMETHODCALLTYPE *GetCurrentActualFrameRate )( 
  76.             IAMVideoControl * This,
  77.             /* [in] */ IPin *pPin,
  78.             /* [out] */ LONGLONG *ActualFrameRate);
  79.         
  80.         HRESULT ( STDMETHODCALLTYPE *GetMaxAvailableFrameRate )( 
  81.             IAMVideoControl * This,
  82.             /* [in] */ IPin *pPin,
  83.             /* [in] */ long iIndex,
  84.             /* [in] */ SIZE Dimensions,
  85.             /* [out] */ LONGLONG *MaxAvailableFrameRate);
  86.         
  87.         HRESULT ( STDMETHODCALLTYPE *GetFrameRateList )( 
  88.             IAMVideoControl * This,
  89.             /* [in] */ IPin *pPin,
  90.             /* [in] */ long iIndex,
  91.             /* [in] */ SIZE Dimensions,
  92.             /* [out] */ long *ListSize,
  93.             /* [out] */ LONGLONG **FrameRates);
  94.         
  95.         END_INTERFACE
  96.     } IAMVideoControlVtbl;
  97.     interface IAMVideoControl
  98.     {
  99.         CONST_VTBL struct IAMVideoControlVtbl *lpVtbl;
  100.     };
  101.     
  102. #ifdef COBJMACROS
  103. #define IAMVideoControl_QueryInterface(This,riid,ppvObject)
  104.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  105. #define IAMVideoControl_AddRef(This)
  106.     (This)->lpVtbl -> AddRef(This)
  107. #define IAMVideoControl_Release(This)
  108.     (This)->lpVtbl -> Release(This)
  109. #define IAMVideoControl_GetCaps(This,pPin,pCapsFlags)
  110.     (This)->lpVtbl -> GetCaps(This,pPin,pCapsFlags)
  111. #define IAMVideoControl_SetMode(This,pPin,Mode)
  112.     (This)->lpVtbl -> SetMode(This,pPin,Mode)
  113. #define IAMVideoControl_GetMode(This,pPin,Mode)
  114.     (This)->lpVtbl -> GetMode(This,pPin,Mode)
  115. #define IAMVideoControl_GetCurrentActualFrameRate(This,pPin,ActualFrameRate)
  116.     (This)->lpVtbl -> GetCurrentActualFrameRate(This,pPin,ActualFrameRate)
  117. #define IAMVideoControl_GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate)
  118.     (This)->lpVtbl -> GetMaxAvailableFrameRate(This,pPin,iIndex,Dimensions,MaxAvailableFrameRate)
  119. #define IAMVideoControl_GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates)
  120.     (This)->lpVtbl -> GetFrameRateList(This,pPin,iIndex,Dimensions,ListSize,FrameRates)
  121. #endif /* COBJMACROS */
  122. #endif  /* C style interface */
  123. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetCaps_Proxy( 
  124.     IAMVideoControl * This,
  125.     /* [in] */ IPin *pPin,
  126.     /* [out] */ long *pCapsFlags);
  127. void __RPC_STUB IAMVideoControl_GetCaps_Stub(
  128.     IRpcStubBuffer *This,
  129.     IRpcChannelBuffer *_pRpcChannelBuffer,
  130.     PRPC_MESSAGE _pRpcMessage,
  131.     DWORD *_pdwStubPhase);
  132. HRESULT STDMETHODCALLTYPE IAMVideoControl_SetMode_Proxy( 
  133.     IAMVideoControl * This,
  134.     /* [in] */ IPin *pPin,
  135.     /* [in] */ long Mode);
  136. void __RPC_STUB IAMVideoControl_SetMode_Stub(
  137.     IRpcStubBuffer *This,
  138.     IRpcChannelBuffer *_pRpcChannelBuffer,
  139.     PRPC_MESSAGE _pRpcMessage,
  140.     DWORD *_pdwStubPhase);
  141. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetMode_Proxy( 
  142.     IAMVideoControl * This,
  143.     /* [in] */ IPin *pPin,
  144.     /* [out] */ long *Mode);
  145. void __RPC_STUB IAMVideoControl_GetMode_Stub(
  146.     IRpcStubBuffer *This,
  147.     IRpcChannelBuffer *_pRpcChannelBuffer,
  148.     PRPC_MESSAGE _pRpcMessage,
  149.     DWORD *_pdwStubPhase);
  150. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetCurrentActualFrameRate_Proxy( 
  151.     IAMVideoControl * This,
  152.     /* [in] */ IPin *pPin,
  153.     /* [out] */ LONGLONG *ActualFrameRate);
  154. void __RPC_STUB IAMVideoControl_GetCurrentActualFrameRate_Stub(
  155.     IRpcStubBuffer *This,
  156.     IRpcChannelBuffer *_pRpcChannelBuffer,
  157.     PRPC_MESSAGE _pRpcMessage,
  158.     DWORD *_pdwStubPhase);
  159. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetMaxAvailableFrameRate_Proxy( 
  160.     IAMVideoControl * This,
  161.     /* [in] */ IPin *pPin,
  162.     /* [in] */ long iIndex,
  163.     /* [in] */ SIZE Dimensions,
  164.     /* [out] */ LONGLONG *MaxAvailableFrameRate);
  165. void __RPC_STUB IAMVideoControl_GetMaxAvailableFrameRate_Stub(
  166.     IRpcStubBuffer *This,
  167.     IRpcChannelBuffer *_pRpcChannelBuffer,
  168.     PRPC_MESSAGE _pRpcMessage,
  169.     DWORD *_pdwStubPhase);
  170. HRESULT STDMETHODCALLTYPE IAMVideoControl_GetFrameRateList_Proxy( 
  171.     IAMVideoControl * This,
  172.     /* [in] */ IPin *pPin,
  173.     /* [in] */ long iIndex,
  174.     /* [in] */ SIZE Dimensions,
  175.     /* [out] */ long *ListSize,
  176.     /* [out] */ LONGLONG **FrameRates);
  177. void __RPC_STUB IAMVideoControl_GetFrameRateList_Stub(
  178.     IRpcStubBuffer *This,
  179.     IRpcChannelBuffer *_pRpcChannelBuffer,
  180.     PRPC_MESSAGE _pRpcMessage,
  181.     DWORD *_pdwStubPhase);
  182. #endif  /* __IAMVideoControl_INTERFACE_DEFINED__ */
  183. #ifndef __IAMCrossbar_INTERFACE_DEFINED__
  184. #define __IAMCrossbar_INTERFACE_DEFINED__
  185. /* interface IAMCrossbar */
  186. /* [unique][uuid][object] */ 
  187. EXTERN_C const IID IID_IAMCrossbar;
  188. #if defined(__cplusplus) && !defined(CINTERFACE)
  189.     
  190.     MIDL_INTERFACE("C6E13380-30AC-11d0-A18C-00A0C9118956")
  191.     IAMCrossbar : public IUnknown
  192.     {
  193.     public:
  194.         virtual HRESULT STDMETHODCALLTYPE get_PinCounts( 
  195.             /* [out] */ long *OutputPinCount,
  196.             /* [out] */ long *InputPinCount) = 0;
  197.         
  198.         virtual HRESULT STDMETHODCALLTYPE CanRoute( 
  199.             /* [in] */ long OutputPinIndex,
  200.             /* [in] */ long InputPinIndex) = 0;
  201.         
  202.         virtual HRESULT STDMETHODCALLTYPE Route( 
  203.             /* [in] */ long OutputPinIndex,
  204.             /* [in] */ long InputPinIndex) = 0;
  205.         
  206.         virtual HRESULT STDMETHODCALLTYPE get_IsRoutedTo( 
  207.             /* [in] */ long OutputPinIndex,
  208.             /* [out] */ long *InputPinIndex) = 0;
  209.         
  210.         virtual HRESULT STDMETHODCALLTYPE get_CrossbarPinInfo( 
  211.             /* [in] */ BOOL IsInputPin,
  212.             /* [in] */ long PinIndex,
  213.             /* [out] */ long *PinIndexRelated,
  214.             /* [out] */ long *PhysicalType) = 0;
  215.         
  216.     };
  217.     
  218. #else  /* C style interface */
  219.     typedef struct IAMCrossbarVtbl
  220.     {
  221.         BEGIN_INTERFACE
  222.         
  223.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  224.             IAMCrossbar * This,
  225.             /* [in] */ REFIID riid,
  226.             /* [iid_is][out] */ void **ppvObject);
  227.         
  228.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  229.             IAMCrossbar * This);
  230.         
  231.         ULONG ( STDMETHODCALLTYPE *Release )( 
  232.             IAMCrossbar * This);
  233.         
  234.         HRESULT ( STDMETHODCALLTYPE *get_PinCounts )( 
  235.             IAMCrossbar * This,
  236.             /* [out] */ long *OutputPinCount,
  237.             /* [out] */ long *InputPinCount);
  238.         
  239.         HRESULT ( STDMETHODCALLTYPE *CanRoute )( 
  240.             IAMCrossbar * This,
  241.             /* [in] */ long OutputPinIndex,
  242.             /* [in] */ long InputPinIndex);
  243.         
  244.         HRESULT ( STDMETHODCALLTYPE *Route )( 
  245.             IAMCrossbar * This,
  246.             /* [in] */ long OutputPinIndex,
  247.             /* [in] */ long InputPinIndex);
  248.         
  249.         HRESULT ( STDMETHODCALLTYPE *get_IsRoutedTo )( 
  250.             IAMCrossbar * This,
  251.             /* [in] */ long OutputPinIndex,
  252.             /* [out] */ long *InputPinIndex);
  253.         
  254.         HRESULT ( STDMETHODCALLTYPE *get_CrossbarPinInfo )( 
  255.             IAMCrossbar * This,
  256.             /* [in] */ BOOL IsInputPin,
  257.             /* [in] */ long PinIndex,
  258.             /* [out] */ long *PinIndexRelated,
  259.             /* [out] */ long *PhysicalType);
  260.         
  261.         END_INTERFACE
  262.     } IAMCrossbarVtbl;
  263.     interface IAMCrossbar
  264.     {
  265.         CONST_VTBL struct IAMCrossbarVtbl *lpVtbl;
  266.     };
  267.     
  268. #ifdef COBJMACROS
  269. #define IAMCrossbar_QueryInterface(This,riid,ppvObject)
  270.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  271. #define IAMCrossbar_AddRef(This)
  272.     (This)->lpVtbl -> AddRef(This)
  273. #define IAMCrossbar_Release(This)
  274.     (This)->lpVtbl -> Release(This)
  275. #define IAMCrossbar_get_PinCounts(This,OutputPinCount,InputPinCount)
  276.     (This)->lpVtbl -> get_PinCounts(This,OutputPinCount,InputPinCount)
  277. #define IAMCrossbar_CanRoute(This,OutputPinIndex,InputPinIndex)
  278.     (This)->lpVtbl -> CanRoute(This,OutputPinIndex,InputPinIndex)
  279. #define IAMCrossbar_Route(This,OutputPinIndex,InputPinIndex)
  280.     (This)->lpVtbl -> Route(This,OutputPinIndex,InputPinIndex)
  281. #define IAMCrossbar_get_IsRoutedTo(This,OutputPinIndex,InputPinIndex)
  282.     (This)->lpVtbl -> get_IsRoutedTo(This,OutputPinIndex,InputPinIndex)
  283. #define IAMCrossbar_get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType)
  284.     (This)->lpVtbl -> get_CrossbarPinInfo(This,IsInputPin,PinIndex,PinIndexRelated,PhysicalType)
  285. #endif /* COBJMACROS */
  286. #endif  /* C style interface */
  287. HRESULT STDMETHODCALLTYPE IAMCrossbar_get_PinCounts_Proxy( 
  288.     IAMCrossbar * This,
  289.     /* [out] */ long *OutputPinCount,
  290.     /* [out] */ long *InputPinCount);
  291. void __RPC_STUB IAMCrossbar_get_PinCounts_Stub(
  292.     IRpcStubBuffer *This,
  293.     IRpcChannelBuffer *_pRpcChannelBuffer,
  294.     PRPC_MESSAGE _pRpcMessage,
  295.     DWORD *_pdwStubPhase);
  296. HRESULT STDMETHODCALLTYPE IAMCrossbar_CanRoute_Proxy( 
  297.     IAMCrossbar * This,
  298.     /* [in] */ long OutputPinIndex,
  299.     /* [in] */ long InputPinIndex);
  300. void __RPC_STUB IAMCrossbar_CanRoute_Stub(
  301.     IRpcStubBuffer *This,
  302.     IRpcChannelBuffer *_pRpcChannelBuffer,
  303.     PRPC_MESSAGE _pRpcMessage,
  304.     DWORD *_pdwStubPhase);
  305. HRESULT STDMETHODCALLTYPE IAMCrossbar_Route_Proxy( 
  306.     IAMCrossbar * This,
  307.     /* [in] */ long OutputPinIndex,
  308.     /* [in] */ long InputPinIndex);
  309. void __RPC_STUB IAMCrossbar_Route_Stub(
  310.     IRpcStubBuffer *This,
  311.     IRpcChannelBuffer *_pRpcChannelBuffer,
  312.     PRPC_MESSAGE _pRpcMessage,
  313.     DWORD *_pdwStubPhase);
  314. HRESULT STDMETHODCALLTYPE IAMCrossbar_get_IsRoutedTo_Proxy( 
  315.     IAMCrossbar * This,
  316.     /* [in] */ long OutputPinIndex,
  317.     /* [out] */ long *InputPinIndex);
  318. void __RPC_STUB IAMCrossbar_get_IsRoutedTo_Stub(
  319.     IRpcStubBuffer *This,
  320.     IRpcChannelBuffer *_pRpcChannelBuffer,
  321.     PRPC_MESSAGE _pRpcMessage,
  322.     DWORD *_pdwStubPhase);
  323. HRESULT STDMETHODCALLTYPE IAMCrossbar_get_CrossbarPinInfo_Proxy( 
  324.     IAMCrossbar * This,
  325.     /* [in] */ BOOL IsInputPin,
  326.     /* [in] */ long PinIndex,
  327.     /* [out] */ long *PinIndexRelated,
  328.     /* [out] */ long *PhysicalType);
  329. void __RPC_STUB IAMCrossbar_get_CrossbarPinInfo_Stub(
  330.     IRpcStubBuffer *This,
  331.     IRpcChannelBuffer *_pRpcChannelBuffer,
  332.     PRPC_MESSAGE _pRpcMessage,
  333.     DWORD *_pdwStubPhase);
  334. #endif  /* __IAMCrossbar_INTERFACE_DEFINED__ */
  335. /* interface __MIDL_itf_strmif_0172 */
  336. /* [local] */ 
  337. typedef 
  338. enum tagAMTunerSubChannel
  339.     { AMTUNER_SUBCHAN_NO_TUNE = -2,
  340. AMTUNER_SUBCHAN_DEFAULT = -1
  341.     }  AMTunerSubChannel;
  342. typedef 
  343. enum tagAMTunerSignalStrength
  344.     { AMTUNER_HASNOSIGNALSTRENGTH = -1,
  345. AMTUNER_NOSIGNAL = 0,
  346. AMTUNER_SIGNALPRESENT = 1
  347.     }  AMTunerSignalStrength;
  348. typedef 
  349. enum tagAMTunerModeType
  350.     { AMTUNER_MODE_DEFAULT = 0,
  351. AMTUNER_MODE_TV = 0x1,
  352. AMTUNER_MODE_FM_RADIO = 0x2,
  353. AMTUNER_MODE_AM_RADIO = 0x4,
  354. AMTUNER_MODE_DSS = 0x8
  355.     }  AMTunerModeType;
  356. typedef 
  357. enum tagAMTunerEventType
  358.     { AMTUNER_EVENT_CHANGED = 0x1
  359.     }  AMTunerEventType;
  360. extern RPC_IF_HANDLE __MIDL_itf_strmif_0172_v0_0_c_ifspec;
  361. extern RPC_IF_HANDLE __MIDL_itf_strmif_0172_v0_0_s_ifspec;
  362. #ifndef __IAMTuner_INTERFACE_DEFINED__
  363. #define __IAMTuner_INTERFACE_DEFINED__
  364. /* interface IAMTuner */
  365. /* [unique][uuid][object] */ 
  366. EXTERN_C const IID IID_IAMTuner;
  367. #if defined(__cplusplus) && !defined(CINTERFACE)
  368.     
  369.     MIDL_INTERFACE("211A8761-03AC-11d1-8D13-00AA00BD8339")
  370.     IAMTuner : public IUnknown
  371.     {
  372.     public:
  373.         virtual HRESULT STDMETHODCALLTYPE put_Channel( 
  374.             /* [in] */ long lChannel,
  375.             /* [in] */ long lVideoSubChannel,
  376.             /* [in] */ long lAudioSubChannel) = 0;
  377.         
  378.         virtual HRESULT STDMETHODCALLTYPE get_Channel( 
  379.             /* [out] */ long *plChannel,
  380.             /* [out] */ long *plVideoSubChannel,
  381.             /* [out] */ long *plAudioSubChannel) = 0;
  382.         
  383.         virtual HRESULT STDMETHODCALLTYPE ChannelMinMax( 
  384.             /* [out] */ long *lChannelMin,
  385.             /* [out] */ long *lChannelMax) = 0;
  386.         
  387.         virtual HRESULT STDMETHODCALLTYPE put_CountryCode( 
  388.             /* [in] */ long lCountryCode) = 0;
  389.         
  390.         virtual HRESULT STDMETHODCALLTYPE get_CountryCode( 
  391.             /* [out] */ long *plCountryCode) = 0;
  392.         
  393.         virtual HRESULT STDMETHODCALLTYPE put_TuningSpace( 
  394.             /* [in] */ long lTuningSpace) = 0;
  395.         
  396.         virtual HRESULT STDMETHODCALLTYPE get_TuningSpace( 
  397.             /* [out] */ long *plTuningSpace) = 0;
  398.         
  399.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Logon( 
  400.             /* [in] */ HANDLE hCurrentUser) = 0;
  401.         
  402.         virtual HRESULT STDMETHODCALLTYPE Logout( void) = 0;
  403.         
  404.         virtual HRESULT STDMETHODCALLTYPE SignalPresent( 
  405.             /* [out] */ long *plSignalStrength) = 0;
  406.         
  407.         virtual HRESULT STDMETHODCALLTYPE put_Mode( 
  408.             /* [in] */ AMTunerModeType lMode) = 0;
  409.         
  410.         virtual HRESULT STDMETHODCALLTYPE get_Mode( 
  411.             /* [out] */ AMTunerModeType *plMode) = 0;
  412.         
  413.         virtual HRESULT STDMETHODCALLTYPE GetAvailableModes( 
  414.             /* [out] */ long *plModes) = 0;
  415.         
  416.         virtual HRESULT STDMETHODCALLTYPE RegisterNotificationCallBack( 
  417.             /* [in] */ IAMTunerNotification *pNotify,
  418.             /* [in] */ long lEvents) = 0;
  419.         
  420.         virtual HRESULT STDMETHODCALLTYPE UnRegisterNotificationCallBack( 
  421.             /* [in] */ IAMTunerNotification *pNotify) = 0;
  422.         
  423.     };
  424.     
  425. #else  /* C style interface */
  426.     typedef struct IAMTunerVtbl
  427.     {
  428.         BEGIN_INTERFACE
  429.         
  430.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  431.             IAMTuner * This,
  432.             /* [in] */ REFIID riid,
  433.             /* [iid_is][out] */ void **ppvObject);
  434.         
  435.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  436.             IAMTuner * This);
  437.         
  438.         ULONG ( STDMETHODCALLTYPE *Release )( 
  439.             IAMTuner * This);
  440.         
  441.         HRESULT ( STDMETHODCALLTYPE *put_Channel )( 
  442.             IAMTuner * This,
  443.             /* [in] */ long lChannel,
  444.             /* [in] */ long lVideoSubChannel,
  445.             /* [in] */ long lAudioSubChannel);
  446.         
  447.         HRESULT ( STDMETHODCALLTYPE *get_Channel )( 
  448.             IAMTuner * This,
  449.             /* [out] */ long *plChannel,
  450.             /* [out] */ long *plVideoSubChannel,
  451.             /* [out] */ long *plAudioSubChannel);
  452.         
  453.         HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )( 
  454.             IAMTuner * This,
  455.             /* [out] */ long *lChannelMin,
  456.             /* [out] */ long *lChannelMax);
  457.         
  458.         HRESULT ( STDMETHODCALLTYPE *put_CountryCode )( 
  459.             IAMTuner * This,
  460.             /* [in] */ long lCountryCode);
  461.         
  462.         HRESULT ( STDMETHODCALLTYPE *get_CountryCode )( 
  463.             IAMTuner * This,
  464.             /* [out] */ long *plCountryCode);
  465.         
  466.         HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )( 
  467.             IAMTuner * This,
  468.             /* [in] */ long lTuningSpace);
  469.         
  470.         HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )( 
  471.             IAMTuner * This,
  472.             /* [out] */ long *plTuningSpace);
  473.         
  474.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )( 
  475.             IAMTuner * This,
  476.             /* [in] */ HANDLE hCurrentUser);
  477.         
  478.         HRESULT ( STDMETHODCALLTYPE *Logout )( 
  479.             IAMTuner * This);
  480.         
  481.         HRESULT ( STDMETHODCALLTYPE *SignalPresent )( 
  482.             IAMTuner * This,
  483.             /* [out] */ long *plSignalStrength);
  484.         
  485.         HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  486.             IAMTuner * This,
  487.             /* [in] */ AMTunerModeType lMode);
  488.         
  489.         HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  490.             IAMTuner * This,
  491.             /* [out] */ AMTunerModeType *plMode);
  492.         
  493.         HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )( 
  494.             IAMTuner * This,
  495.             /* [out] */ long *plModes);
  496.         
  497.         HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )( 
  498.             IAMTuner * This,
  499.             /* [in] */ IAMTunerNotification *pNotify,
  500.             /* [in] */ long lEvents);
  501.         
  502.         HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )( 
  503.             IAMTuner * This,
  504.             /* [in] */ IAMTunerNotification *pNotify);
  505.         
  506.         END_INTERFACE
  507.     } IAMTunerVtbl;
  508.     interface IAMTuner
  509.     {
  510.         CONST_VTBL struct IAMTunerVtbl *lpVtbl;
  511.     };
  512.     
  513. #ifdef COBJMACROS
  514. #define IAMTuner_QueryInterface(This,riid,ppvObject)
  515.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  516. #define IAMTuner_AddRef(This)
  517.     (This)->lpVtbl -> AddRef(This)
  518. #define IAMTuner_Release(This)
  519.     (This)->lpVtbl -> Release(This)
  520. #define IAMTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
  521.     (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
  522. #define IAMTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
  523.     (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
  524. #define IAMTuner_ChannelMinMax(This,lChannelMin,lChannelMax)
  525.     (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)
  526. #define IAMTuner_put_CountryCode(This,lCountryCode)
  527.     (This)->lpVtbl -> put_CountryCode(This,lCountryCode)
  528. #define IAMTuner_get_CountryCode(This,plCountryCode)
  529.     (This)->lpVtbl -> get_CountryCode(This,plCountryCode)
  530. #define IAMTuner_put_TuningSpace(This,lTuningSpace)
  531.     (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)
  532. #define IAMTuner_get_TuningSpace(This,plTuningSpace)
  533.     (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)
  534. #define IAMTuner_Logon(This,hCurrentUser)
  535.     (This)->lpVtbl -> Logon(This,hCurrentUser)
  536. #define IAMTuner_Logout(This)
  537.     (This)->lpVtbl -> Logout(This)
  538. #define IAMTuner_SignalPresent(This,plSignalStrength)
  539.     (This)->lpVtbl -> SignalPresent(This,plSignalStrength)
  540. #define IAMTuner_put_Mode(This,lMode)
  541.     (This)->lpVtbl -> put_Mode(This,lMode)
  542. #define IAMTuner_get_Mode(This,plMode)
  543.     (This)->lpVtbl -> get_Mode(This,plMode)
  544. #define IAMTuner_GetAvailableModes(This,plModes)
  545.     (This)->lpVtbl -> GetAvailableModes(This,plModes)
  546. #define IAMTuner_RegisterNotificationCallBack(This,pNotify,lEvents)
  547.     (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  548. #define IAMTuner_UnRegisterNotificationCallBack(This,pNotify)
  549.     (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  550. #endif /* COBJMACROS */
  551. #endif  /* C style interface */
  552. HRESULT STDMETHODCALLTYPE IAMTuner_put_Channel_Proxy( 
  553.     IAMTuner * This,
  554.     /* [in] */ long lChannel,
  555.     /* [in] */ long lVideoSubChannel,
  556.     /* [in] */ long lAudioSubChannel);
  557. void __RPC_STUB IAMTuner_put_Channel_Stub(
  558.     IRpcStubBuffer *This,
  559.     IRpcChannelBuffer *_pRpcChannelBuffer,
  560.     PRPC_MESSAGE _pRpcMessage,
  561.     DWORD *_pdwStubPhase);
  562. HRESULT STDMETHODCALLTYPE IAMTuner_get_Channel_Proxy( 
  563.     IAMTuner * This,
  564.     /* [out] */ long *plChannel,
  565.     /* [out] */ long *plVideoSubChannel,
  566.     /* [out] */ long *plAudioSubChannel);
  567. void __RPC_STUB IAMTuner_get_Channel_Stub(
  568.     IRpcStubBuffer *This,
  569.     IRpcChannelBuffer *_pRpcChannelBuffer,
  570.     PRPC_MESSAGE _pRpcMessage,
  571.     DWORD *_pdwStubPhase);
  572. HRESULT STDMETHODCALLTYPE IAMTuner_ChannelMinMax_Proxy( 
  573.     IAMTuner * This,
  574.     /* [out] */ long *lChannelMin,
  575.     /* [out] */ long *lChannelMax);
  576. void __RPC_STUB IAMTuner_ChannelMinMax_Stub(
  577.     IRpcStubBuffer *This,
  578.     IRpcChannelBuffer *_pRpcChannelBuffer,
  579.     PRPC_MESSAGE _pRpcMessage,
  580.     DWORD *_pdwStubPhase);
  581. HRESULT STDMETHODCALLTYPE IAMTuner_put_CountryCode_Proxy( 
  582.     IAMTuner * This,
  583.     /* [in] */ long lCountryCode);
  584. void __RPC_STUB IAMTuner_put_CountryCode_Stub(
  585.     IRpcStubBuffer *This,
  586.     IRpcChannelBuffer *_pRpcChannelBuffer,
  587.     PRPC_MESSAGE _pRpcMessage,
  588.     DWORD *_pdwStubPhase);
  589. HRESULT STDMETHODCALLTYPE IAMTuner_get_CountryCode_Proxy( 
  590.     IAMTuner * This,
  591.     /* [out] */ long *plCountryCode);
  592. void __RPC_STUB IAMTuner_get_CountryCode_Stub(
  593.     IRpcStubBuffer *This,
  594.     IRpcChannelBuffer *_pRpcChannelBuffer,
  595.     PRPC_MESSAGE _pRpcMessage,
  596.     DWORD *_pdwStubPhase);
  597. HRESULT STDMETHODCALLTYPE IAMTuner_put_TuningSpace_Proxy( 
  598.     IAMTuner * This,
  599.     /* [in] */ long lTuningSpace);
  600. void __RPC_STUB IAMTuner_put_TuningSpace_Stub(
  601.     IRpcStubBuffer *This,
  602.     IRpcChannelBuffer *_pRpcChannelBuffer,
  603.     PRPC_MESSAGE _pRpcMessage,
  604.     DWORD *_pdwStubPhase);
  605. HRESULT STDMETHODCALLTYPE IAMTuner_get_TuningSpace_Proxy( 
  606.     IAMTuner * This,
  607.     /* [out] */ long *plTuningSpace);
  608. void __RPC_STUB IAMTuner_get_TuningSpace_Stub(
  609.     IRpcStubBuffer *This,
  610.     IRpcChannelBuffer *_pRpcChannelBuffer,
  611.     PRPC_MESSAGE _pRpcMessage,
  612.     DWORD *_pdwStubPhase);
  613. /* [local] */ HRESULT STDMETHODCALLTYPE IAMTuner_Logon_Proxy( 
  614.     IAMTuner * This,
  615.     /* [in] */ HANDLE hCurrentUser);
  616. void __RPC_STUB IAMTuner_Logon_Stub(
  617.     IRpcStubBuffer *This,
  618.     IRpcChannelBuffer *_pRpcChannelBuffer,
  619.     PRPC_MESSAGE _pRpcMessage,
  620.     DWORD *_pdwStubPhase);
  621. HRESULT STDMETHODCALLTYPE IAMTuner_Logout_Proxy( 
  622.     IAMTuner * This);
  623. void __RPC_STUB IAMTuner_Logout_Stub(
  624.     IRpcStubBuffer *This,
  625.     IRpcChannelBuffer *_pRpcChannelBuffer,
  626.     PRPC_MESSAGE _pRpcMessage,
  627.     DWORD *_pdwStubPhase);
  628. HRESULT STDMETHODCALLTYPE IAMTuner_SignalPresent_Proxy( 
  629.     IAMTuner * This,
  630.     /* [out] */ long *plSignalStrength);
  631. void __RPC_STUB IAMTuner_SignalPresent_Stub(
  632.     IRpcStubBuffer *This,
  633.     IRpcChannelBuffer *_pRpcChannelBuffer,
  634.     PRPC_MESSAGE _pRpcMessage,
  635.     DWORD *_pdwStubPhase);
  636. HRESULT STDMETHODCALLTYPE IAMTuner_put_Mode_Proxy( 
  637.     IAMTuner * This,
  638.     /* [in] */ AMTunerModeType lMode);
  639. void __RPC_STUB IAMTuner_put_Mode_Stub(
  640.     IRpcStubBuffer *This,
  641.     IRpcChannelBuffer *_pRpcChannelBuffer,
  642.     PRPC_MESSAGE _pRpcMessage,
  643.     DWORD *_pdwStubPhase);
  644. HRESULT STDMETHODCALLTYPE IAMTuner_get_Mode_Proxy( 
  645.     IAMTuner * This,
  646.     /* [out] */ AMTunerModeType *plMode);
  647. void __RPC_STUB IAMTuner_get_Mode_Stub(
  648.     IRpcStubBuffer *This,
  649.     IRpcChannelBuffer *_pRpcChannelBuffer,
  650.     PRPC_MESSAGE _pRpcMessage,
  651.     DWORD *_pdwStubPhase);
  652. HRESULT STDMETHODCALLTYPE IAMTuner_GetAvailableModes_Proxy( 
  653.     IAMTuner * This,
  654.     /* [out] */ long *plModes);
  655. void __RPC_STUB IAMTuner_GetAvailableModes_Stub(
  656.     IRpcStubBuffer *This,
  657.     IRpcChannelBuffer *_pRpcChannelBuffer,
  658.     PRPC_MESSAGE _pRpcMessage,
  659.     DWORD *_pdwStubPhase);
  660. HRESULT STDMETHODCALLTYPE IAMTuner_RegisterNotificationCallBack_Proxy( 
  661.     IAMTuner * This,
  662.     /* [in] */ IAMTunerNotification *pNotify,
  663.     /* [in] */ long lEvents);
  664. void __RPC_STUB IAMTuner_RegisterNotificationCallBack_Stub(
  665.     IRpcStubBuffer *This,
  666.     IRpcChannelBuffer *_pRpcChannelBuffer,
  667.     PRPC_MESSAGE _pRpcMessage,
  668.     DWORD *_pdwStubPhase);
  669. HRESULT STDMETHODCALLTYPE IAMTuner_UnRegisterNotificationCallBack_Proxy( 
  670.     IAMTuner * This,
  671.     /* [in] */ IAMTunerNotification *pNotify);
  672. void __RPC_STUB IAMTuner_UnRegisterNotificationCallBack_Stub(
  673.     IRpcStubBuffer *This,
  674.     IRpcChannelBuffer *_pRpcChannelBuffer,
  675.     PRPC_MESSAGE _pRpcMessage,
  676.     DWORD *_pdwStubPhase);
  677. #endif  /* __IAMTuner_INTERFACE_DEFINED__ */
  678. #ifndef __IAMTunerNotification_INTERFACE_DEFINED__
  679. #define __IAMTunerNotification_INTERFACE_DEFINED__
  680. /* interface IAMTunerNotification */
  681. /* [unique][uuid][object] */ 
  682. EXTERN_C const IID IID_IAMTunerNotification;
  683. #if defined(__cplusplus) && !defined(CINTERFACE)
  684.     
  685.     MIDL_INTERFACE("211A8760-03AC-11d1-8D13-00AA00BD8339")
  686.     IAMTunerNotification : public IUnknown
  687.     {
  688.     public:
  689.         virtual HRESULT STDMETHODCALLTYPE OnEvent( 
  690.             /* [in] */ AMTunerEventType Event) = 0;
  691.         
  692.     };
  693.     
  694. #else  /* C style interface */
  695.     typedef struct IAMTunerNotificationVtbl
  696.     {
  697.         BEGIN_INTERFACE
  698.         
  699.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  700.             IAMTunerNotification * This,
  701.             /* [in] */ REFIID riid,
  702.             /* [iid_is][out] */ void **ppvObject);
  703.         
  704.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  705.             IAMTunerNotification * This);
  706.         
  707.         ULONG ( STDMETHODCALLTYPE *Release )( 
  708.             IAMTunerNotification * This);
  709.         
  710.         HRESULT ( STDMETHODCALLTYPE *OnEvent )( 
  711.             IAMTunerNotification * This,
  712.             /* [in] */ AMTunerEventType Event);
  713.         
  714.         END_INTERFACE
  715.     } IAMTunerNotificationVtbl;
  716.     interface IAMTunerNotification
  717.     {
  718.         CONST_VTBL struct IAMTunerNotificationVtbl *lpVtbl;
  719.     };
  720.     
  721. #ifdef COBJMACROS
  722. #define IAMTunerNotification_QueryInterface(This,riid,ppvObject)
  723.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  724. #define IAMTunerNotification_AddRef(This)
  725.     (This)->lpVtbl -> AddRef(This)
  726. #define IAMTunerNotification_Release(This)
  727.     (This)->lpVtbl -> Release(This)
  728. #define IAMTunerNotification_OnEvent(This,Event)
  729.     (This)->lpVtbl -> OnEvent(This,Event)
  730. #endif /* COBJMACROS */
  731. #endif  /* C style interface */
  732. HRESULT STDMETHODCALLTYPE IAMTunerNotification_OnEvent_Proxy( 
  733.     IAMTunerNotification * This,
  734.     /* [in] */ AMTunerEventType Event);
  735. void __RPC_STUB IAMTunerNotification_OnEvent_Stub(
  736.     IRpcStubBuffer *This,
  737.     IRpcChannelBuffer *_pRpcChannelBuffer,
  738.     PRPC_MESSAGE _pRpcMessage,
  739.     DWORD *_pdwStubPhase);
  740. #endif  /* __IAMTunerNotification_INTERFACE_DEFINED__ */
  741. #ifndef __IAMTVTuner_INTERFACE_DEFINED__
  742. #define __IAMTVTuner_INTERFACE_DEFINED__
  743. /* interface IAMTVTuner */
  744. /* [unique][uuid][object] */ 
  745. EXTERN_C const IID IID_IAMTVTuner;
  746. #if defined(__cplusplus) && !defined(CINTERFACE)
  747.     
  748.     MIDL_INTERFACE("211A8766-03AC-11d1-8D13-00AA00BD8339")
  749.     IAMTVTuner : public IAMTuner
  750.     {
  751.     public:
  752.         virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats( 
  753.             /* [out] */ long *lAnalogVideoStandard) = 0;
  754.         
  755.         virtual HRESULT STDMETHODCALLTYPE get_TVFormat( 
  756.             /* [out] */ long *plAnalogVideoStandard) = 0;
  757.         
  758.         virtual HRESULT STDMETHODCALLTYPE AutoTune( 
  759.             /* [in] */ long lChannel,
  760.             /* [out] */ long *plFoundSignal) = 0;
  761.         
  762.         virtual HRESULT STDMETHODCALLTYPE StoreAutoTune( void) = 0;
  763.         
  764.         virtual HRESULT STDMETHODCALLTYPE get_NumInputConnections( 
  765.             /* [out] */ long *plNumInputConnections) = 0;
  766.         
  767.         virtual HRESULT STDMETHODCALLTYPE put_InputType( 
  768.             /* [in] */ long lIndex,
  769.             /* [in] */ TunerInputType InputType) = 0;
  770.         
  771.         virtual HRESULT STDMETHODCALLTYPE get_InputType( 
  772.             /* [in] */ long lIndex,
  773.             /* [out] */ TunerInputType *pInputType) = 0;
  774.         
  775.         virtual HRESULT STDMETHODCALLTYPE put_ConnectInput( 
  776.             /* [in] */ long lIndex) = 0;
  777.         
  778.         virtual HRESULT STDMETHODCALLTYPE get_ConnectInput( 
  779.             /* [out] */ long *plIndex) = 0;
  780.         
  781.         virtual HRESULT STDMETHODCALLTYPE get_VideoFrequency( 
  782.             /* [out] */ long *lFreq) = 0;
  783.         
  784.         virtual HRESULT STDMETHODCALLTYPE get_AudioFrequency( 
  785.             /* [out] */ long *lFreq) = 0;
  786.         
  787.     };
  788.     
  789. #else  /* C style interface */
  790.     typedef struct IAMTVTunerVtbl
  791.     {
  792.         BEGIN_INTERFACE
  793.         
  794.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  795.             IAMTVTuner * This,
  796.             /* [in] */ REFIID riid,
  797.             /* [iid_is][out] */ void **ppvObject);
  798.         
  799.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  800.             IAMTVTuner * This);
  801.         
  802.         ULONG ( STDMETHODCALLTYPE *Release )( 
  803.             IAMTVTuner * This);
  804.         
  805.         HRESULT ( STDMETHODCALLTYPE *put_Channel )( 
  806.             IAMTVTuner * This,
  807.             /* [in] */ long lChannel,
  808.             /* [in] */ long lVideoSubChannel,
  809.             /* [in] */ long lAudioSubChannel);
  810.         
  811.         HRESULT ( STDMETHODCALLTYPE *get_Channel )( 
  812.             IAMTVTuner * This,
  813.             /* [out] */ long *plChannel,
  814.             /* [out] */ long *plVideoSubChannel,
  815.             /* [out] */ long *plAudioSubChannel);
  816.         
  817.         HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )( 
  818.             IAMTVTuner * This,
  819.             /* [out] */ long *lChannelMin,
  820.             /* [out] */ long *lChannelMax);
  821.         
  822.         HRESULT ( STDMETHODCALLTYPE *put_CountryCode )( 
  823.             IAMTVTuner * This,
  824.             /* [in] */ long lCountryCode);
  825.         
  826.         HRESULT ( STDMETHODCALLTYPE *get_CountryCode )( 
  827.             IAMTVTuner * This,
  828.             /* [out] */ long *plCountryCode);
  829.         
  830.         HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )( 
  831.             IAMTVTuner * This,
  832.             /* [in] */ long lTuningSpace);
  833.         
  834.         HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )( 
  835.             IAMTVTuner * This,
  836.             /* [out] */ long *plTuningSpace);
  837.         
  838.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )( 
  839.             IAMTVTuner * This,
  840.             /* [in] */ HANDLE hCurrentUser);
  841.         
  842.         HRESULT ( STDMETHODCALLTYPE *Logout )( 
  843.             IAMTVTuner * This);
  844.         
  845.         HRESULT ( STDMETHODCALLTYPE *SignalPresent )( 
  846.             IAMTVTuner * This,
  847.             /* [out] */ long *plSignalStrength);
  848.         
  849.         HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  850.             IAMTVTuner * This,
  851.             /* [in] */ AMTunerModeType lMode);
  852.         
  853.         HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  854.             IAMTVTuner * This,
  855.             /* [out] */ AMTunerModeType *plMode);
  856.         
  857.         HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )( 
  858.             IAMTVTuner * This,
  859.             /* [out] */ long *plModes);
  860.         
  861.         HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )( 
  862.             IAMTVTuner * This,
  863.             /* [in] */ IAMTunerNotification *pNotify,
  864.             /* [in] */ long lEvents);
  865.         
  866.         HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )( 
  867.             IAMTVTuner * This,
  868.             /* [in] */ IAMTunerNotification *pNotify);
  869.         
  870.         HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )( 
  871.             IAMTVTuner * This,
  872.             /* [out] */ long *lAnalogVideoStandard);
  873.         
  874.         HRESULT ( STDMETHODCALLTYPE *get_TVFormat )( 
  875.             IAMTVTuner * This,
  876.             /* [out] */ long *plAnalogVideoStandard);
  877.         
  878.         HRESULT ( STDMETHODCALLTYPE *AutoTune )( 
  879.             IAMTVTuner * This,
  880.             /* [in] */ long lChannel,
  881.             /* [out] */ long *plFoundSignal);
  882.         
  883.         HRESULT ( STDMETHODCALLTYPE *StoreAutoTune )( 
  884.             IAMTVTuner * This);
  885.         
  886.         HRESULT ( STDMETHODCALLTYPE *get_NumInputConnections )( 
  887.             IAMTVTuner * This,
  888.             /* [out] */ long *plNumInputConnections);
  889.         
  890.         HRESULT ( STDMETHODCALLTYPE *put_InputType )( 
  891.             IAMTVTuner * This,
  892.             /* [in] */ long lIndex,
  893.             /* [in] */ TunerInputType InputType);
  894.         
  895.         HRESULT ( STDMETHODCALLTYPE *get_InputType )( 
  896.             IAMTVTuner * This,
  897.             /* [in] */ long lIndex,
  898.             /* [out] */ TunerInputType *pInputType);
  899.         
  900.         HRESULT ( STDMETHODCALLTYPE *put_ConnectInput )( 
  901.             IAMTVTuner * This,
  902.             /* [in] */ long lIndex);
  903.         
  904.         HRESULT ( STDMETHODCALLTYPE *get_ConnectInput )( 
  905.             IAMTVTuner * This,
  906.             /* [out] */ long *plIndex);
  907.         
  908.         HRESULT ( STDMETHODCALLTYPE *get_VideoFrequency )( 
  909.             IAMTVTuner * This,
  910.             /* [out] */ long *lFreq);
  911.         
  912.         HRESULT ( STDMETHODCALLTYPE *get_AudioFrequency )( 
  913.             IAMTVTuner * This,
  914.             /* [out] */ long *lFreq);
  915.         
  916.         END_INTERFACE
  917.     } IAMTVTunerVtbl;
  918.     interface IAMTVTuner
  919.     {
  920.         CONST_VTBL struct IAMTVTunerVtbl *lpVtbl;
  921.     };
  922.     
  923. #ifdef COBJMACROS
  924. #define IAMTVTuner_QueryInterface(This,riid,ppvObject)
  925.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  926. #define IAMTVTuner_AddRef(This)
  927.     (This)->lpVtbl -> AddRef(This)
  928. #define IAMTVTuner_Release(This)
  929.     (This)->lpVtbl -> Release(This)
  930. #define IAMTVTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
  931.     (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
  932. #define IAMTVTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
  933.     (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
  934. #define IAMTVTuner_ChannelMinMax(This,lChannelMin,lChannelMax)
  935.     (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)
  936. #define IAMTVTuner_put_CountryCode(This,lCountryCode)
  937.     (This)->lpVtbl -> put_CountryCode(This,lCountryCode)
  938. #define IAMTVTuner_get_CountryCode(This,plCountryCode)
  939.     (This)->lpVtbl -> get_CountryCode(This,plCountryCode)
  940. #define IAMTVTuner_put_TuningSpace(This,lTuningSpace)
  941.     (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)
  942. #define IAMTVTuner_get_TuningSpace(This,plTuningSpace)
  943.     (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)
  944. #define IAMTVTuner_Logon(This,hCurrentUser)
  945.     (This)->lpVtbl -> Logon(This,hCurrentUser)
  946. #define IAMTVTuner_Logout(This)
  947.     (This)->lpVtbl -> Logout(This)
  948. #define IAMTVTuner_SignalPresent(This,plSignalStrength)
  949.     (This)->lpVtbl -> SignalPresent(This,plSignalStrength)
  950. #define IAMTVTuner_put_Mode(This,lMode)
  951.     (This)->lpVtbl -> put_Mode(This,lMode)
  952. #define IAMTVTuner_get_Mode(This,plMode)
  953.     (This)->lpVtbl -> get_Mode(This,plMode)
  954. #define IAMTVTuner_GetAvailableModes(This,plModes)
  955.     (This)->lpVtbl -> GetAvailableModes(This,plModes)
  956. #define IAMTVTuner_RegisterNotificationCallBack(This,pNotify,lEvents)
  957.     (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  958. #define IAMTVTuner_UnRegisterNotificationCallBack(This,pNotify)
  959.     (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  960. #define IAMTVTuner_get_AvailableTVFormats(This,lAnalogVideoStandard)
  961.     (This)->lpVtbl -> get_AvailableTVFormats(This,lAnalogVideoStandard)
  962. #define IAMTVTuner_get_TVFormat(This,plAnalogVideoStandard)
  963.     (This)->lpVtbl -> get_TVFormat(This,plAnalogVideoStandard)
  964. #define IAMTVTuner_AutoTune(This,lChannel,plFoundSignal)
  965.     (This)->lpVtbl -> AutoTune(This,lChannel,plFoundSignal)
  966. #define IAMTVTuner_StoreAutoTune(This)
  967.     (This)->lpVtbl -> StoreAutoTune(This)
  968. #define IAMTVTuner_get_NumInputConnections(This,plNumInputConnections)
  969.     (This)->lpVtbl -> get_NumInputConnections(This,plNumInputConnections)
  970. #define IAMTVTuner_put_InputType(This,lIndex,InputType)
  971.     (This)->lpVtbl -> put_InputType(This,lIndex,InputType)
  972. #define IAMTVTuner_get_InputType(This,lIndex,pInputType)
  973.     (This)->lpVtbl -> get_InputType(This,lIndex,pInputType)
  974. #define IAMTVTuner_put_ConnectInput(This,lIndex)
  975.     (This)->lpVtbl -> put_ConnectInput(This,lIndex)
  976. #define IAMTVTuner_get_ConnectInput(This,plIndex)
  977.     (This)->lpVtbl -> get_ConnectInput(This,plIndex)
  978. #define IAMTVTuner_get_VideoFrequency(This,lFreq)
  979.     (This)->lpVtbl -> get_VideoFrequency(This,lFreq)
  980. #define IAMTVTuner_get_AudioFrequency(This,lFreq)
  981.     (This)->lpVtbl -> get_AudioFrequency(This,lFreq)
  982. #endif /* COBJMACROS */
  983. #endif  /* C style interface */
  984. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_AvailableTVFormats_Proxy( 
  985.     IAMTVTuner * This,
  986.     /* [out] */ long *lAnalogVideoStandard);
  987. void __RPC_STUB IAMTVTuner_get_AvailableTVFormats_Stub(
  988.     IRpcStubBuffer *This,
  989.     IRpcChannelBuffer *_pRpcChannelBuffer,
  990.     PRPC_MESSAGE _pRpcMessage,
  991.     DWORD *_pdwStubPhase);
  992. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_TVFormat_Proxy( 
  993.     IAMTVTuner * This,
  994.     /* [out] */ long *plAnalogVideoStandard);
  995. void __RPC_STUB IAMTVTuner_get_TVFormat_Stub(
  996.     IRpcStubBuffer *This,
  997.     IRpcChannelBuffer *_pRpcChannelBuffer,
  998.     PRPC_MESSAGE _pRpcMessage,
  999.     DWORD *_pdwStubPhase);
  1000. HRESULT STDMETHODCALLTYPE IAMTVTuner_AutoTune_Proxy( 
  1001.     IAMTVTuner * This,
  1002.     /* [in] */ long lChannel,
  1003.     /* [out] */ long *plFoundSignal);
  1004. void __RPC_STUB IAMTVTuner_AutoTune_Stub(
  1005.     IRpcStubBuffer *This,
  1006.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1007.     PRPC_MESSAGE _pRpcMessage,
  1008.     DWORD *_pdwStubPhase);
  1009. HRESULT STDMETHODCALLTYPE IAMTVTuner_StoreAutoTune_Proxy( 
  1010.     IAMTVTuner * This);
  1011. void __RPC_STUB IAMTVTuner_StoreAutoTune_Stub(
  1012.     IRpcStubBuffer *This,
  1013.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1014.     PRPC_MESSAGE _pRpcMessage,
  1015.     DWORD *_pdwStubPhase);
  1016. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_NumInputConnections_Proxy( 
  1017.     IAMTVTuner * This,
  1018.     /* [out] */ long *plNumInputConnections);
  1019. void __RPC_STUB IAMTVTuner_get_NumInputConnections_Stub(
  1020.     IRpcStubBuffer *This,
  1021.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1022.     PRPC_MESSAGE _pRpcMessage,
  1023.     DWORD *_pdwStubPhase);
  1024. HRESULT STDMETHODCALLTYPE IAMTVTuner_put_InputType_Proxy( 
  1025.     IAMTVTuner * This,
  1026.     /* [in] */ long lIndex,
  1027.     /* [in] */ TunerInputType InputType);
  1028. void __RPC_STUB IAMTVTuner_put_InputType_Stub(
  1029.     IRpcStubBuffer *This,
  1030.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1031.     PRPC_MESSAGE _pRpcMessage,
  1032.     DWORD *_pdwStubPhase);
  1033. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_InputType_Proxy( 
  1034.     IAMTVTuner * This,
  1035.     /* [in] */ long lIndex,
  1036.     /* [out] */ TunerInputType *pInputType);
  1037. void __RPC_STUB IAMTVTuner_get_InputType_Stub(
  1038.     IRpcStubBuffer *This,
  1039.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1040.     PRPC_MESSAGE _pRpcMessage,
  1041.     DWORD *_pdwStubPhase);
  1042. HRESULT STDMETHODCALLTYPE IAMTVTuner_put_ConnectInput_Proxy( 
  1043.     IAMTVTuner * This,
  1044.     /* [in] */ long lIndex);
  1045. void __RPC_STUB IAMTVTuner_put_ConnectInput_Stub(
  1046.     IRpcStubBuffer *This,
  1047.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1048.     PRPC_MESSAGE _pRpcMessage,
  1049.     DWORD *_pdwStubPhase);
  1050. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_ConnectInput_Proxy( 
  1051.     IAMTVTuner * This,
  1052.     /* [out] */ long *plIndex);
  1053. void __RPC_STUB IAMTVTuner_get_ConnectInput_Stub(
  1054.     IRpcStubBuffer *This,
  1055.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1056.     PRPC_MESSAGE _pRpcMessage,
  1057.     DWORD *_pdwStubPhase);
  1058. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_VideoFrequency_Proxy( 
  1059.     IAMTVTuner * This,
  1060.     /* [out] */ long *lFreq);
  1061. void __RPC_STUB IAMTVTuner_get_VideoFrequency_Stub(
  1062.     IRpcStubBuffer *This,
  1063.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1064.     PRPC_MESSAGE _pRpcMessage,
  1065.     DWORD *_pdwStubPhase);
  1066. HRESULT STDMETHODCALLTYPE IAMTVTuner_get_AudioFrequency_Proxy( 
  1067.     IAMTVTuner * This,
  1068.     /* [out] */ long *lFreq);
  1069. void __RPC_STUB IAMTVTuner_get_AudioFrequency_Stub(
  1070.     IRpcStubBuffer *This,
  1071.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1072.     PRPC_MESSAGE _pRpcMessage,
  1073.     DWORD *_pdwStubPhase);
  1074. #endif  /* __IAMTVTuner_INTERFACE_DEFINED__ */
  1075. #ifndef __IBPCSatelliteTuner_INTERFACE_DEFINED__
  1076. #define __IBPCSatelliteTuner_INTERFACE_DEFINED__
  1077. /* interface IBPCSatelliteTuner */
  1078. /* [unique][uuid][local][object] */ 
  1079. EXTERN_C const IID IID_IBPCSatelliteTuner;
  1080. #if defined(__cplusplus) && !defined(CINTERFACE)
  1081.     
  1082.     MIDL_INTERFACE("211A8765-03AC-11d1-8D13-00AA00BD8339")
  1083.     IBPCSatelliteTuner : public IAMTuner
  1084.     {
  1085.     public:
  1086.         virtual HRESULT STDMETHODCALLTYPE get_DefaultSubChannelTypes( 
  1087.             /* [out] */ long *plDefaultVideoType,
  1088.             /* [out] */ long *plDefaultAudioType) = 0;
  1089.         
  1090.         virtual HRESULT STDMETHODCALLTYPE put_DefaultSubChannelTypes( 
  1091.             /* [in] */ long lDefaultVideoType,
  1092.             /* [in] */ long lDefaultAudioType) = 0;
  1093.         
  1094.         virtual HRESULT STDMETHODCALLTYPE IsTapingPermitted( void) = 0;
  1095.         
  1096.     };
  1097.     
  1098. #else  /* C style interface */
  1099.     typedef struct IBPCSatelliteTunerVtbl
  1100.     {
  1101.         BEGIN_INTERFACE
  1102.         
  1103.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1104.             IBPCSatelliteTuner * This,
  1105.             /* [in] */ REFIID riid,
  1106.             /* [iid_is][out] */ void **ppvObject);
  1107.         
  1108.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1109.             IBPCSatelliteTuner * This);
  1110.         
  1111.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1112.             IBPCSatelliteTuner * This);
  1113.         
  1114.         HRESULT ( STDMETHODCALLTYPE *put_Channel )( 
  1115.             IBPCSatelliteTuner * This,
  1116.             /* [in] */ long lChannel,
  1117.             /* [in] */ long lVideoSubChannel,
  1118.             /* [in] */ long lAudioSubChannel);
  1119.         
  1120.         HRESULT ( STDMETHODCALLTYPE *get_Channel )( 
  1121.             IBPCSatelliteTuner * This,
  1122.             /* [out] */ long *plChannel,
  1123.             /* [out] */ long *plVideoSubChannel,
  1124.             /* [out] */ long *plAudioSubChannel);
  1125.         
  1126.         HRESULT ( STDMETHODCALLTYPE *ChannelMinMax )( 
  1127.             IBPCSatelliteTuner * This,
  1128.             /* [out] */ long *lChannelMin,
  1129.             /* [out] */ long *lChannelMax);
  1130.         
  1131.         HRESULT ( STDMETHODCALLTYPE *put_CountryCode )( 
  1132.             IBPCSatelliteTuner * This,
  1133.             /* [in] */ long lCountryCode);
  1134.         
  1135.         HRESULT ( STDMETHODCALLTYPE *get_CountryCode )( 
  1136.             IBPCSatelliteTuner * This,
  1137.             /* [out] */ long *plCountryCode);
  1138.         
  1139.         HRESULT ( STDMETHODCALLTYPE *put_TuningSpace )( 
  1140.             IBPCSatelliteTuner * This,
  1141.             /* [in] */ long lTuningSpace);
  1142.         
  1143.         HRESULT ( STDMETHODCALLTYPE *get_TuningSpace )( 
  1144.             IBPCSatelliteTuner * This,
  1145.             /* [out] */ long *plTuningSpace);
  1146.         
  1147.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Logon )( 
  1148.             IBPCSatelliteTuner * This,
  1149.             /* [in] */ HANDLE hCurrentUser);
  1150.         
  1151.         HRESULT ( STDMETHODCALLTYPE *Logout )( 
  1152.             IBPCSatelliteTuner * This);
  1153.         
  1154.         HRESULT ( STDMETHODCALLTYPE *SignalPresent )( 
  1155.             IBPCSatelliteTuner * This,
  1156.             /* [out] */ long *plSignalStrength);
  1157.         
  1158.         HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  1159.             IBPCSatelliteTuner * This,
  1160.             /* [in] */ AMTunerModeType lMode);
  1161.         
  1162.         HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  1163.             IBPCSatelliteTuner * This,
  1164.             /* [out] */ AMTunerModeType *plMode);
  1165.         
  1166.         HRESULT ( STDMETHODCALLTYPE *GetAvailableModes )( 
  1167.             IBPCSatelliteTuner * This,
  1168.             /* [out] */ long *plModes);
  1169.         
  1170.         HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )( 
  1171.             IBPCSatelliteTuner * This,
  1172.             /* [in] */ IAMTunerNotification *pNotify,
  1173.             /* [in] */ long lEvents);
  1174.         
  1175.         HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )( 
  1176.             IBPCSatelliteTuner * This,
  1177.             /* [in] */ IAMTunerNotification *pNotify);
  1178.         
  1179.         HRESULT ( STDMETHODCALLTYPE *get_DefaultSubChannelTypes )( 
  1180.             IBPCSatelliteTuner * This,
  1181.             /* [out] */ long *plDefaultVideoType,
  1182.             /* [out] */ long *plDefaultAudioType);
  1183.         
  1184.         HRESULT ( STDMETHODCALLTYPE *put_DefaultSubChannelTypes )( 
  1185.             IBPCSatelliteTuner * This,
  1186.             /* [in] */ long lDefaultVideoType,
  1187.             /* [in] */ long lDefaultAudioType);
  1188.         
  1189.         HRESULT ( STDMETHODCALLTYPE *IsTapingPermitted )( 
  1190.             IBPCSatelliteTuner * This);
  1191.         
  1192.         END_INTERFACE
  1193.     } IBPCSatelliteTunerVtbl;
  1194.     interface IBPCSatelliteTuner
  1195.     {
  1196.         CONST_VTBL struct IBPCSatelliteTunerVtbl *lpVtbl;
  1197.     };
  1198.     
  1199. #ifdef COBJMACROS
  1200. #define IBPCSatelliteTuner_QueryInterface(This,riid,ppvObject)
  1201.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1202. #define IBPCSatelliteTuner_AddRef(This)
  1203.     (This)->lpVtbl -> AddRef(This)
  1204. #define IBPCSatelliteTuner_Release(This)
  1205.     (This)->lpVtbl -> Release(This)
  1206. #define IBPCSatelliteTuner_put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
  1207.     (This)->lpVtbl -> put_Channel(This,lChannel,lVideoSubChannel,lAudioSubChannel)
  1208. #define IBPCSatelliteTuner_get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
  1209.     (This)->lpVtbl -> get_Channel(This,plChannel,plVideoSubChannel,plAudioSubChannel)
  1210. #define IBPCSatelliteTuner_ChannelMinMax(This,lChannelMin,lChannelMax)
  1211.     (This)->lpVtbl -> ChannelMinMax(This,lChannelMin,lChannelMax)
  1212. #define IBPCSatelliteTuner_put_CountryCode(This,lCountryCode)
  1213.     (This)->lpVtbl -> put_CountryCode(This,lCountryCode)
  1214. #define IBPCSatelliteTuner_get_CountryCode(This,plCountryCode)
  1215.     (This)->lpVtbl -> get_CountryCode(This,plCountryCode)
  1216. #define IBPCSatelliteTuner_put_TuningSpace(This,lTuningSpace)
  1217.     (This)->lpVtbl -> put_TuningSpace(This,lTuningSpace)
  1218. #define IBPCSatelliteTuner_get_TuningSpace(This,plTuningSpace)
  1219.     (This)->lpVtbl -> get_TuningSpace(This,plTuningSpace)
  1220. #define IBPCSatelliteTuner_Logon(This,hCurrentUser)
  1221.     (This)->lpVtbl -> Logon(This,hCurrentUser)
  1222. #define IBPCSatelliteTuner_Logout(This)
  1223.     (This)->lpVtbl -> Logout(This)
  1224. #define IBPCSatelliteTuner_SignalPresent(This,plSignalStrength)
  1225.     (This)->lpVtbl -> SignalPresent(This,plSignalStrength)
  1226. #define IBPCSatelliteTuner_put_Mode(This,lMode)
  1227.     (This)->lpVtbl -> put_Mode(This,lMode)
  1228. #define IBPCSatelliteTuner_get_Mode(This,plMode)
  1229.     (This)->lpVtbl -> get_Mode(This,plMode)
  1230. #define IBPCSatelliteTuner_GetAvailableModes(This,plModes)
  1231.     (This)->lpVtbl -> GetAvailableModes(This,plModes)
  1232. #define IBPCSatelliteTuner_RegisterNotificationCallBack(This,pNotify,lEvents)
  1233.     (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  1234. #define IBPCSatelliteTuner_UnRegisterNotificationCallBack(This,pNotify)
  1235.     (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  1236. #define IBPCSatelliteTuner_get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType)
  1237.     (This)->lpVtbl -> get_DefaultSubChannelTypes(This,plDefaultVideoType,plDefaultAudioType)
  1238. #define IBPCSatelliteTuner_put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType)
  1239.     (This)->lpVtbl -> put_DefaultSubChannelTypes(This,lDefaultVideoType,lDefaultAudioType)
  1240. #define IBPCSatelliteTuner_IsTapingPermitted(This)
  1241.     (This)->lpVtbl -> IsTapingPermitted(This)
  1242. #endif /* COBJMACROS */
  1243. #endif  /* C style interface */
  1244. HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_get_DefaultSubChannelTypes_Proxy( 
  1245.     IBPCSatelliteTuner * This,
  1246.     /* [out] */ long *plDefaultVideoType,
  1247.     /* [out] */ long *plDefaultAudioType);
  1248. void __RPC_STUB IBPCSatelliteTuner_get_DefaultSubChannelTypes_Stub(
  1249.     IRpcStubBuffer *This,
  1250.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1251.     PRPC_MESSAGE _pRpcMessage,
  1252.     DWORD *_pdwStubPhase);
  1253. HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_put_DefaultSubChannelTypes_Proxy( 
  1254.     IBPCSatelliteTuner * This,
  1255.     /* [in] */ long lDefaultVideoType,
  1256.     /* [in] */ long lDefaultAudioType);
  1257. void __RPC_STUB IBPCSatelliteTuner_put_DefaultSubChannelTypes_Stub(
  1258.     IRpcStubBuffer *This,
  1259.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1260.     PRPC_MESSAGE _pRpcMessage,
  1261.     DWORD *_pdwStubPhase);
  1262. HRESULT STDMETHODCALLTYPE IBPCSatelliteTuner_IsTapingPermitted_Proxy( 
  1263.     IBPCSatelliteTuner * This);
  1264. void __RPC_STUB IBPCSatelliteTuner_IsTapingPermitted_Stub(
  1265.     IRpcStubBuffer *This,
  1266.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1267.     PRPC_MESSAGE _pRpcMessage,
  1268.     DWORD *_pdwStubPhase);
  1269. #endif  /* __IBPCSatelliteTuner_INTERFACE_DEFINED__ */
  1270. /* interface __MIDL_itf_strmif_0176 */
  1271. /* [local] */ 
  1272. typedef 
  1273. enum tagTVAudioMode
  1274.     { AMTVAUDIO_MODE_MONO = 0x1,
  1275. AMTVAUDIO_MODE_STEREO = 0x2,
  1276. AMTVAUDIO_MODE_LANG_A = 0x10,
  1277. AMTVAUDIO_MODE_LANG_B = 0x20,
  1278. AMTVAUDIO_MODE_LANG_C = 0x40
  1279.     }  TVAudioMode;
  1280. typedef 
  1281. enum tagAMTVAudioEventType
  1282.     { AMTVAUDIO_EVENT_CHANGED = 0x1
  1283.     }  AMTVAudioEventType;
  1284. extern RPC_IF_HANDLE __MIDL_itf_strmif_0176_v0_0_c_ifspec;
  1285. extern RPC_IF_HANDLE __MIDL_itf_strmif_0176_v0_0_s_ifspec;
  1286. #ifndef __IAMTVAudio_INTERFACE_DEFINED__
  1287. #define __IAMTVAudio_INTERFACE_DEFINED__
  1288. /* interface IAMTVAudio */
  1289. /* [unique][uuid][local][object] */ 
  1290. EXTERN_C const IID IID_IAMTVAudio;
  1291. #if defined(__cplusplus) && !defined(CINTERFACE)
  1292.     
  1293.     MIDL_INTERFACE("83EC1C30-23D1-11d1-99E6-00A0C9560266")
  1294.     IAMTVAudio : public IUnknown
  1295.     {
  1296.     public:
  1297.         virtual HRESULT STDMETHODCALLTYPE GetHardwareSupportedTVAudioModes( 
  1298.             /* [out] */ long *plModes) = 0;
  1299.         
  1300.         virtual HRESULT STDMETHODCALLTYPE GetAvailableTVAudioModes( 
  1301.             /* [out] */ long *plModes) = 0;
  1302.         
  1303.         virtual HRESULT STDMETHODCALLTYPE get_TVAudioMode( 
  1304.             /* [out] */ long *plMode) = 0;
  1305.         
  1306.         virtual HRESULT STDMETHODCALLTYPE put_TVAudioMode( 
  1307.             /* [in] */ long lMode) = 0;
  1308.         
  1309.         virtual HRESULT STDMETHODCALLTYPE RegisterNotificationCallBack( 
  1310.             /* [in] */ IAMTunerNotification *pNotify,
  1311.             /* [in] */ long lEvents) = 0;
  1312.         
  1313.         virtual HRESULT STDMETHODCALLTYPE UnRegisterNotificationCallBack( 
  1314.             IAMTunerNotification *pNotify) = 0;
  1315.         
  1316.     };
  1317.     
  1318. #else  /* C style interface */
  1319.     typedef struct IAMTVAudioVtbl
  1320.     {
  1321.         BEGIN_INTERFACE
  1322.         
  1323.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1324.             IAMTVAudio * This,
  1325.             /* [in] */ REFIID riid,
  1326.             /* [iid_is][out] */ void **ppvObject);
  1327.         
  1328.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1329.             IAMTVAudio * This);
  1330.         
  1331.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1332.             IAMTVAudio * This);
  1333.         
  1334.         HRESULT ( STDMETHODCALLTYPE *GetHardwareSupportedTVAudioModes )( 
  1335.             IAMTVAudio * This,
  1336.             /* [out] */ long *plModes);
  1337.         
  1338.         HRESULT ( STDMETHODCALLTYPE *GetAvailableTVAudioModes )( 
  1339.             IAMTVAudio * This,
  1340.             /* [out] */ long *plModes);
  1341.         
  1342.         HRESULT ( STDMETHODCALLTYPE *get_TVAudioMode )( 
  1343.             IAMTVAudio * This,
  1344.             /* [out] */ long *plMode);
  1345.         
  1346.         HRESULT ( STDMETHODCALLTYPE *put_TVAudioMode )( 
  1347.             IAMTVAudio * This,
  1348.             /* [in] */ long lMode);
  1349.         
  1350.         HRESULT ( STDMETHODCALLTYPE *RegisterNotificationCallBack )( 
  1351.             IAMTVAudio * This,
  1352.             /* [in] */ IAMTunerNotification *pNotify,
  1353.             /* [in] */ long lEvents);
  1354.         
  1355.         HRESULT ( STDMETHODCALLTYPE *UnRegisterNotificationCallBack )( 
  1356.             IAMTVAudio * This,
  1357.             IAMTunerNotification *pNotify);
  1358.         
  1359.         END_INTERFACE
  1360.     } IAMTVAudioVtbl;
  1361.     interface IAMTVAudio
  1362.     {
  1363.         CONST_VTBL struct IAMTVAudioVtbl *lpVtbl;
  1364.     };
  1365.     
  1366. #ifdef COBJMACROS
  1367. #define IAMTVAudio_QueryInterface(This,riid,ppvObject)
  1368.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1369. #define IAMTVAudio_AddRef(This)
  1370.     (This)->lpVtbl -> AddRef(This)
  1371. #define IAMTVAudio_Release(This)
  1372.     (This)->lpVtbl -> Release(This)
  1373. #define IAMTVAudio_GetHardwareSupportedTVAudioModes(This,plModes)
  1374.     (This)->lpVtbl -> GetHardwareSupportedTVAudioModes(This,plModes)
  1375. #define IAMTVAudio_GetAvailableTVAudioModes(This,plModes)
  1376.     (This)->lpVtbl -> GetAvailableTVAudioModes(This,plModes)
  1377. #define IAMTVAudio_get_TVAudioMode(This,plMode)
  1378.     (This)->lpVtbl -> get_TVAudioMode(This,plMode)
  1379. #define IAMTVAudio_put_TVAudioMode(This,lMode)
  1380.     (This)->lpVtbl -> put_TVAudioMode(This,lMode)
  1381. #define IAMTVAudio_RegisterNotificationCallBack(This,pNotify,lEvents)
  1382.     (This)->lpVtbl -> RegisterNotificationCallBack(This,pNotify,lEvents)
  1383. #define IAMTVAudio_UnRegisterNotificationCallBack(This,pNotify)
  1384.     (This)->lpVtbl -> UnRegisterNotificationCallBack(This,pNotify)
  1385. #endif /* COBJMACROS */
  1386. #endif  /* C style interface */
  1387. HRESULT STDMETHODCALLTYPE IAMTVAudio_GetHardwareSupportedTVAudioModes_Proxy( 
  1388.     IAMTVAudio * This,
  1389.     /* [out] */ long *plModes);
  1390. void __RPC_STUB IAMTVAudio_GetHardwareSupportedTVAudioModes_Stub(
  1391.     IRpcStubBuffer *This,
  1392.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1393.     PRPC_MESSAGE _pRpcMessage,
  1394.     DWORD *_pdwStubPhase);
  1395. HRESULT STDMETHODCALLTYPE IAMTVAudio_GetAvailableTVAudioModes_Proxy( 
  1396.     IAMTVAudio * This,
  1397.     /* [out] */ long *plModes);
  1398. void __RPC_STUB IAMTVAudio_GetAvailableTVAudioModes_Stub(
  1399.     IRpcStubBuffer *This,
  1400.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1401.     PRPC_MESSAGE _pRpcMessage,
  1402.     DWORD *_pdwStubPhase);
  1403. HRESULT STDMETHODCALLTYPE IAMTVAudio_get_TVAudioMode_Proxy( 
  1404.     IAMTVAudio * This,
  1405.     /* [out] */ long *plMode);
  1406. void __RPC_STUB IAMTVAudio_get_TVAudioMode_Stub(
  1407.     IRpcStubBuffer *This,
  1408.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1409.     PRPC_MESSAGE _pRpcMessage,
  1410.     DWORD *_pdwStubPhase);
  1411. HRESULT STDMETHODCALLTYPE IAMTVAudio_put_TVAudioMode_Proxy( 
  1412.     IAMTVAudio * This,
  1413.     /* [in] */ long lMode);
  1414. void __RPC_STUB IAMTVAudio_put_TVAudioMode_Stub(
  1415.     IRpcStubBuffer *This,
  1416.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1417.     PRPC_MESSAGE _pRpcMessage,
  1418.     DWORD *_pdwStubPhase);
  1419. HRESULT STDMETHODCALLTYPE IAMTVAudio_RegisterNotificationCallBack_Proxy( 
  1420.     IAMTVAudio * This,
  1421.     /* [in] */ IAMTunerNotification *pNotify,
  1422.     /* [in] */ long lEvents);
  1423. void __RPC_STUB IAMTVAudio_RegisterNotificationCallBack_Stub(
  1424.     IRpcStubBuffer *This,
  1425.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1426.     PRPC_MESSAGE _pRpcMessage,
  1427.     DWORD *_pdwStubPhase);
  1428. HRESULT STDMETHODCALLTYPE IAMTVAudio_UnRegisterNotificationCallBack_Proxy( 
  1429.     IAMTVAudio * This,
  1430.     IAMTunerNotification *pNotify);
  1431. void __RPC_STUB IAMTVAudio_UnRegisterNotificationCallBack_Stub(
  1432.     IRpcStubBuffer *This,
  1433.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1434.     PRPC_MESSAGE _pRpcMessage,
  1435.     DWORD *_pdwStubPhase);
  1436. #endif  /* __IAMTVAudio_INTERFACE_DEFINED__ */
  1437. #ifndef __IAMTVAudioNotification_INTERFACE_DEFINED__
  1438. #define __IAMTVAudioNotification_INTERFACE_DEFINED__
  1439. /* interface IAMTVAudioNotification */
  1440. /* [unique][uuid][local][object] */ 
  1441. EXTERN_C const IID IID_IAMTVAudioNotification;
  1442. #if defined(__cplusplus) && !defined(CINTERFACE)
  1443.     
  1444.     MIDL_INTERFACE("83EC1C33-23D1-11d1-99E6-00A0C9560266")
  1445.     IAMTVAudioNotification : public IUnknown
  1446.     {
  1447.     public:
  1448.         virtual HRESULT STDMETHODCALLTYPE OnEvent( 
  1449.             /* [in] */ AMTVAudioEventType Event) = 0;
  1450.         
  1451.     };
  1452.     
  1453. #else  /* C style interface */
  1454.     typedef struct IAMTVAudioNotificationVtbl
  1455.     {
  1456.         BEGIN_INTERFACE
  1457.         
  1458.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1459.             IAMTVAudioNotification * This,
  1460.             /* [in] */ REFIID riid,
  1461.             /* [iid_is][out] */ void **ppvObject);
  1462.         
  1463.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1464.             IAMTVAudioNotification * This);
  1465.         
  1466.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1467.             IAMTVAudioNotification * This);
  1468.         
  1469.         HRESULT ( STDMETHODCALLTYPE *OnEvent )( 
  1470.             IAMTVAudioNotification * This,
  1471.             /* [in] */ AMTVAudioEventType Event);
  1472.         
  1473.         END_INTERFACE
  1474.     } IAMTVAudioNotificationVtbl;
  1475.     interface IAMTVAudioNotification
  1476.     {
  1477.         CONST_VTBL struct IAMTVAudioNotificationVtbl *lpVtbl;
  1478.     };
  1479.     
  1480. #ifdef COBJMACROS
  1481. #define IAMTVAudioNotification_QueryInterface(This,riid,ppvObject)
  1482.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1483. #define IAMTVAudioNotification_AddRef(This)
  1484.     (This)->lpVtbl -> AddRef(This)
  1485. #define IAMTVAudioNotification_Release(This)
  1486.     (This)->lpVtbl -> Release(This)
  1487. #define IAMTVAudioNotification_OnEvent(This,Event)
  1488.     (This)->lpVtbl -> OnEvent(This,Event)
  1489. #endif /* COBJMACROS */
  1490. #endif  /* C style interface */
  1491. HRESULT STDMETHODCALLTYPE IAMTVAudioNotification_OnEvent_Proxy( 
  1492.     IAMTVAudioNotification * This,
  1493.     /* [in] */ AMTVAudioEventType Event);
  1494. void __RPC_STUB IAMTVAudioNotification_OnEvent_Stub(
  1495.     IRpcStubBuffer *This,
  1496.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1497.     PRPC_MESSAGE _pRpcMessage,
  1498.     DWORD *_pdwStubPhase);
  1499. #endif  /* __IAMTVAudioNotification_INTERFACE_DEFINED__ */
  1500. #ifndef __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
  1501. #define __IAMAnalogVideoEncoder_INTERFACE_DEFINED__
  1502. /* interface IAMAnalogVideoEncoder */
  1503. /* [unique][uuid][object] */ 
  1504. EXTERN_C const IID IID_IAMAnalogVideoEncoder;
  1505. #if defined(__cplusplus) && !defined(CINTERFACE)
  1506.     
  1507.     MIDL_INTERFACE("C6E133B0-30AC-11d0-A18C-00A0C9118956")
  1508.     IAMAnalogVideoEncoder : public IUnknown
  1509.     {
  1510.     public:
  1511.         virtual HRESULT STDMETHODCALLTYPE get_AvailableTVFormats( 
  1512.             /* [out] */ long *lAnalogVideoStandard) = 0;
  1513.         
  1514.         virtual HRESULT STDMETHODCALLTYPE put_TVFormat( 
  1515.             /* [in] */ long lAnalogVideoStandard) = 0;
  1516.         
  1517.         virtual HRESULT STDMETHODCALLTYPE get_TVFormat( 
  1518.             /* [out] */ long *plAnalogVideoStandard) = 0;
  1519.         
  1520.         virtual HRESULT STDMETHODCALLTYPE put_CopyProtection( 
  1521.             /* [in] */ long lVideoCopyProtection) = 0;
  1522.         
  1523.         virtual HRESULT STDMETHODCALLTYPE get_CopyProtection( 
  1524.             /* [out] */ long *lVideoCopyProtection) = 0;
  1525.         
  1526.         virtual HRESULT STDMETHODCALLTYPE put_CCEnable( 
  1527.             /* [in] */ long lCCEnable) = 0;
  1528.         
  1529.         virtual HRESULT STDMETHODCALLTYPE get_CCEnable( 
  1530.             /* [out] */ long *lCCEnable) = 0;
  1531.         
  1532.     };
  1533.     
  1534. #else  /* C style interface */
  1535.     typedef struct IAMAnalogVideoEncoderVtbl
  1536.     {
  1537.         BEGIN_INTERFACE
  1538.         
  1539.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1540.             IAMAnalogVideoEncoder * This,
  1541.             /* [in] */ REFIID riid,
  1542.             /* [iid_is][out] */ void **ppvObject);
  1543.         
  1544.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1545.             IAMAnalogVideoEncoder * This);
  1546.         
  1547.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1548.             IAMAnalogVideoEncoder * This);
  1549.         
  1550.         HRESULT ( STDMETHODCALLTYPE *get_AvailableTVFormats )( 
  1551.             IAMAnalogVideoEncoder * This,
  1552.             /* [out] */ long *lAnalogVideoStandard);
  1553.         
  1554.         HRESULT ( STDMETHODCALLTYPE *put_TVFormat )( 
  1555.             IAMAnalogVideoEncoder * This,
  1556.             /* [in] */ long lAnalogVideoStandard);
  1557.         
  1558.         HRESULT ( STDMETHODCALLTYPE *get_TVFormat )( 
  1559.             IAMAnalogVideoEncoder * This,
  1560.             /* [out] */ long *plAnalogVideoStandard);
  1561.         
  1562.         HRESULT ( STDMETHODCALLTYPE *put_CopyProtection )( 
  1563.             IAMAnalogVideoEncoder * This,
  1564.             /* [in] */ long lVideoCopyProtection);
  1565.         
  1566.         HRESULT ( STDMETHODCALLTYPE *get_CopyProtection )( 
  1567.             IAMAnalogVideoEncoder * This,
  1568.             /* [out] */ long *lVideoCopyProtection);
  1569.         
  1570.         HRESULT ( STDMETHODCALLTYPE *put_CCEnable )( 
  1571.             IAMAnalogVideoEncoder * This,
  1572.             /* [in] */ long lCCEnable);
  1573.         
  1574.         HRESULT ( STDMETHODCALLTYPE *get_CCEnable )( 
  1575.             IAMAnalogVideoEncoder * This,
  1576.             /* [out] */ long *lCCEnable);
  1577.         
  1578.         END_INTERFACE
  1579.     } IAMAnalogVideoEncoderVtbl;
  1580.     interface IAMAnalogVideoEncoder
  1581.     {
  1582.         CONST_VTBL struct IAMAnalogVideoEncoderVtbl *lpVtbl;
  1583.     };
  1584.     
  1585. #ifdef COBJMACROS
  1586. #define IAMAnalogVideoEncoder_QueryInterface(This,riid,ppvObject)
  1587.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1588. #define IAMAnalogVideoEncoder_AddRef(This)
  1589.     (This)->lpVtbl -> AddRef(This)
  1590. #define IAMAnalogVideoEncoder_Release(This)
  1591.     (This)->lpVtbl -> Release(This)
  1592. #define IAMAnalogVideoEncoder_get_AvailableTVFormats(This,lAnalogVideoStandard)
  1593.     (This)->lpVtbl -> get_AvailableTVFormats(This,lAnalogVideoStandard)
  1594. #define IAMAnalogVideoEncoder_put_TVFormat(This,lAnalogVideoStandard)
  1595.     (This)->lpVtbl -> put_TVFormat(This,lAnalogVideoStandard)
  1596. #define IAMAnalogVideoEncoder_get_TVFormat(This,plAnalogVideoStandard)
  1597.     (This)->lpVtbl -> get_TVFormat(This,plAnalogVideoStandard)
  1598. #define IAMAnalogVideoEncoder_put_CopyProtection(This,lVideoCopyProtection)
  1599.     (This)->lpVtbl -> put_CopyProtection(This,lVideoCopyProtection)
  1600. #define IAMAnalogVideoEncoder_get_CopyProtection(This,lVideoCopyProtection)
  1601.     (This)->lpVtbl -> get_CopyProtection(This,lVideoCopyProtection)
  1602. #define IAMAnalogVideoEncoder_put_CCEnable(This,lCCEnable)
  1603.     (This)->lpVtbl -> put_CCEnable(This,lCCEnable)
  1604. #define IAMAnalogVideoEncoder_get_CCEnable(This,lCCEnable)
  1605.     (This)->lpVtbl -> get_CCEnable(This,lCCEnable)
  1606. #endif /* COBJMACROS */
  1607. #endif  /* C style interface */
  1608. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_AvailableTVFormats_Proxy( 
  1609.     IAMAnalogVideoEncoder * This,
  1610.     /* [out] */ long *lAnalogVideoStandard);
  1611. void __RPC_STUB IAMAnalogVideoEncoder_get_AvailableTVFormats_Stub(
  1612.     IRpcStubBuffer *This,
  1613.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1614.     PRPC_MESSAGE _pRpcMessage,
  1615.     DWORD *_pdwStubPhase);
  1616. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_TVFormat_Proxy( 
  1617.     IAMAnalogVideoEncoder * This,
  1618.     /* [in] */ long lAnalogVideoStandard);
  1619. void __RPC_STUB IAMAnalogVideoEncoder_put_TVFormat_Stub(
  1620.     IRpcStubBuffer *This,
  1621.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1622.     PRPC_MESSAGE _pRpcMessage,
  1623.     DWORD *_pdwStubPhase);
  1624. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_TVFormat_Proxy( 
  1625.     IAMAnalogVideoEncoder * This,
  1626.     /* [out] */ long *plAnalogVideoStandard);
  1627. void __RPC_STUB IAMAnalogVideoEncoder_get_TVFormat_Stub(
  1628.     IRpcStubBuffer *This,
  1629.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1630.     PRPC_MESSAGE _pRpcMessage,
  1631.     DWORD *_pdwStubPhase);
  1632. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_CopyProtection_Proxy( 
  1633.     IAMAnalogVideoEncoder * This,
  1634.     /* [in] */ long lVideoCopyProtection);
  1635. void __RPC_STUB IAMAnalogVideoEncoder_put_CopyProtection_Stub(
  1636.     IRpcStubBuffer *This,
  1637.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1638.     PRPC_MESSAGE _pRpcMessage,
  1639.     DWORD *_pdwStubPhase);
  1640. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_CopyProtection_Proxy( 
  1641.     IAMAnalogVideoEncoder * This,
  1642.     /* [out] */ long *lVideoCopyProtection);
  1643. void __RPC_STUB IAMAnalogVideoEncoder_get_CopyProtection_Stub(
  1644.     IRpcStubBuffer *This,
  1645.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1646.     PRPC_MESSAGE _pRpcMessage,
  1647.     DWORD *_pdwStubPhase);
  1648. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_put_CCEnable_Proxy( 
  1649.     IAMAnalogVideoEncoder * This,
  1650.     /* [in] */ long lCCEnable);
  1651. void __RPC_STUB IAMAnalogVideoEncoder_put_CCEnable_Stub(
  1652.     IRpcStubBuffer *This,
  1653.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1654.     PRPC_MESSAGE _pRpcMessage,
  1655.     DWORD *_pdwStubPhase);
  1656. HRESULT STDMETHODCALLTYPE IAMAnalogVideoEncoder_get_CCEnable_Proxy( 
  1657.     IAMAnalogVideoEncoder * This,
  1658.     /* [out] */ long *lCCEnable);
  1659. void __RPC_STUB IAMAnalogVideoEncoder_get_CCEnable_Stub(
  1660.     IRpcStubBuffer *This,
  1661.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1662.     PRPC_MESSAGE _pRpcMessage,
  1663.     DWORD *_pdwStubPhase);
  1664. #endif  /* __IAMAnalogVideoEncoder_INTERFACE_DEFINED__ */
  1665. /* interface __MIDL_itf_strmif_0179 */
  1666. /* [local] */ 
  1667. typedef /* [public] */ 
  1668. enum __MIDL___MIDL_itf_strmif_0179_0001
  1669.     { AMPROPERTY_PIN_CATEGORY = 0,
  1670. AMPROPERTY_PIN_MEDIUM = AMPROPERTY_PIN_CATEGORY + 1
  1671.     }  AMPROPERTY_PIN;
  1672. #ifndef _IKsPropertySet_
  1673. #define _IKsPropertySet_
  1674. #define KSPROPERTY_SUPPORT_GET  1
  1675. #define KSPROPERTY_SUPPORT_SET  2
  1676. extern RPC_IF_HANDLE __MIDL_itf_strmif_0179_v0_0_c_ifspec;
  1677. extern RPC_IF_HANDLE __MIDL_itf_strmif_0179_v0_0_s_ifspec;
  1678. #ifndef __IKsPropertySet_INTERFACE_DEFINED__
  1679. #define __IKsPropertySet_INTERFACE_DEFINED__
  1680. /* interface IKsPropertySet */
  1681. /* [unique][uuid][object] */ 
  1682. EXTERN_C const IID IID_IKsPropertySet;
  1683. #if defined(__cplusplus) && !defined(CINTERFACE)
  1684.     
  1685.     MIDL_INTERFACE("31EFAC30-515C-11d0-A9AA-00AA0061BE93")
  1686.     IKsPropertySet : public IUnknown
  1687.     {
  1688.     public:
  1689.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Set( 
  1690.             /* [in] */ REFGUID guidPropSet,
  1691.             /* [in] */ DWORD dwPropID,
  1692.             /* [size_is][in] */ LPVOID pInstanceData,
  1693.             /* [in] */ DWORD cbInstanceData,
  1694.             /* [size_is][in] */ LPVOID pPropData,
  1695.             /* [in] */ DWORD cbPropData) = 0;
  1696.         
  1697.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Get( 
  1698.             /* [in] */ REFGUID guidPropSet,
  1699.             /* [in] */ DWORD dwPropID,
  1700.             /* [size_is][in] */ LPVOID pInstanceData,
  1701.             /* [in] */ DWORD cbInstanceData,
  1702.             /* [size_is][out] */ LPVOID pPropData,
  1703.             /* [in] */ DWORD cbPropData,
  1704.             /* [out] */ DWORD *pcbReturned) = 0;
  1705.         
  1706.         virtual HRESULT STDMETHODCALLTYPE QuerySupported( 
  1707.             /* [in] */ REFGUID guidPropSet,
  1708.             /* [in] */ DWORD dwPropID,
  1709.             /* [out] */ DWORD *pTypeSupport) = 0;
  1710.         
  1711.     };
  1712.     
  1713. #else  /* C style interface */
  1714.     typedef struct IKsPropertySetVtbl
  1715.     {
  1716.         BEGIN_INTERFACE
  1717.         
  1718.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1719.             IKsPropertySet * This,
  1720.             /* [in] */ REFIID riid,
  1721.             /* [iid_is][out] */ void **ppvObject);
  1722.         
  1723.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1724.             IKsPropertySet * This);
  1725.         
  1726.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1727.             IKsPropertySet * This);
  1728.         
  1729.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Set )( 
  1730.             IKsPropertySet * This,
  1731.             /* [in] */ REFGUID guidPropSet,
  1732.             /* [in] */ DWORD dwPropID,
  1733.             /* [size_is][in] */ LPVOID pInstanceData,
  1734.             /* [in] */ DWORD cbInstanceData,
  1735.             /* [size_is][in] */ LPVOID pPropData,
  1736.             /* [in] */ DWORD cbPropData);
  1737.         
  1738.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Get )( 
  1739.             IKsPropertySet * This,
  1740.             /* [in] */ REFGUID guidPropSet,
  1741.             /* [in] */ DWORD dwPropID,
  1742.             /* [size_is][in] */ LPVOID pInstanceData,
  1743.             /* [in] */ DWORD cbInstanceData,
  1744.             /* [size_is][out] */ LPVOID pPropData,
  1745.             /* [in] */ DWORD cbPropData,
  1746.             /* [out] */ DWORD *pcbReturned);
  1747.         
  1748.         HRESULT ( STDMETHODCALLTYPE *QuerySupported )( 
  1749.             IKsPropertySet * This,
  1750.             /* [in] */ REFGUID guidPropSet,
  1751.             /* [in] */ DWORD dwPropID,
  1752.             /* [out] */ DWORD *pTypeSupport);
  1753.         
  1754.         END_INTERFACE
  1755.     } IKsPropertySetVtbl;
  1756.     interface IKsPropertySet
  1757.     {
  1758.         CONST_VTBL struct IKsPropertySetVtbl *lpVtbl;
  1759.     };
  1760.     
  1761. #ifdef COBJMACROS
  1762. #define IKsPropertySet_QueryInterface(This,riid,ppvObject)
  1763.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1764. #define IKsPropertySet_AddRef(This)
  1765.     (This)->lpVtbl -> AddRef(This)
  1766. #define IKsPropertySet_Release(This)
  1767.     (This)->lpVtbl -> Release(This)
  1768. #define IKsPropertySet_Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData)
  1769.     (This)->lpVtbl -> Set(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData)
  1770. #define IKsPropertySet_Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned)
  1771.     (This)->lpVtbl -> Get(This,guidPropSet,dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData,pcbReturned)
  1772. #define IKsPropertySet_QuerySupported(This,guidPropSet,dwPropID,pTypeSupport)
  1773.     (This)->lpVtbl -> QuerySupported(This,guidPropSet,dwPropID,pTypeSupport)
  1774. #endif /* COBJMACROS */
  1775. #endif  /* C style interface */
  1776. /* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_RemoteSet_Proxy( 
  1777.     IKsPropertySet * This,
  1778.     /* [in] */ REFGUID guidPropSet,
  1779.     /* [in] */ DWORD dwPropID,
  1780.     /* [size_is][in] */ byte *pInstanceData,
  1781.     /* [in] */ DWORD cbInstanceData,
  1782.     /* [size_is][in] */ byte *pPropData,
  1783.     /* [in] */ DWORD cbPropData);
  1784. void __RPC_STUB IKsPropertySet_RemoteSet_Stub(
  1785.     IRpcStubBuffer *This,
  1786.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1787.     PRPC_MESSAGE _pRpcMessage,
  1788.     DWORD *_pdwStubPhase);
  1789. /* [call_as] */ HRESULT STDMETHODCALLTYPE IKsPropertySet_RemoteGet_Proxy( 
  1790.     IKsPropertySet * This,
  1791.     /* [in] */ REFGUID guidPropSet,
  1792.     /* [in] */ DWORD dwPropID,
  1793.     /* [size_is][in] */ byte *pInstanceData,
  1794.     /* [in] */ DWORD cbInstanceData,
  1795.     /* [size_is][out] */ byte *pPropData,
  1796.     /* [in] */ DWORD cbPropData,
  1797.     /* [out] */ DWORD *pcbReturned);
  1798. void __RPC_STUB IKsPropertySet_RemoteGet_Stub(
  1799.     IRpcStubBuffer *This,
  1800.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1801.     PRPC_MESSAGE _pRpcMessage,
  1802.     DWORD *_pdwStubPhase);
  1803. HRESULT STDMETHODCALLTYPE IKsPropertySet_QuerySupported_Proxy( 
  1804.     IKsPropertySet * This,
  1805.     /* [in] */ REFGUID guidPropSet,
  1806.     /* [in] */ DWORD dwPropID,
  1807.     /* [out] */ DWORD *pTypeSupport);
  1808. void __RPC_STUB IKsPropertySet_QuerySupported_Stub(
  1809.     IRpcStubBuffer *This,
  1810.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1811.     PRPC_MESSAGE _pRpcMessage,
  1812.     DWORD *_pdwStubPhase);
  1813. #endif  /* __IKsPropertySet_INTERFACE_DEFINED__ */
  1814. /* interface __MIDL_itf_strmif_0180 */
  1815. /* [local] */ 
  1816. #endif // _IKsPropertySet_
  1817. extern RPC_IF_HANDLE __MIDL_itf_strmif_0180_v0_0_c_ifspec;
  1818. extern RPC_IF_HANDLE __MIDL_itf_strmif_0180_v0_0_s_ifspec;
  1819. #ifndef __IMediaPropertyBag_INTERFACE_DEFINED__
  1820. #define __IMediaPropertyBag_INTERFACE_DEFINED__
  1821. /* interface IMediaPropertyBag */
  1822. /* [unique][uuid][object] */ 
  1823. typedef IMediaPropertyBag *LPMEDIAPROPERTYBAG;
  1824. EXTERN_C const IID IID_IMediaPropertyBag;
  1825. #if defined(__cplusplus) && !defined(CINTERFACE)
  1826.     
  1827.     MIDL_INTERFACE("6025A880-C0D5-11d0-BD4E-00A0C911CE86")
  1828.     IMediaPropertyBag : public IPropertyBag
  1829.     {
  1830.     public:
  1831.         virtual HRESULT STDMETHODCALLTYPE EnumProperty( 
  1832.             /* [in] */ ULONG iProperty,
  1833.             /* [out][in] */ VARIANT *pvarPropertyName,
  1834.             /* [out][in] */ VARIANT *pvarPropertyValue) = 0;
  1835.         
  1836.     };
  1837.     
  1838. #else  /* C style interface */
  1839.     typedef struct IMediaPropertyBagVtbl
  1840.     {
  1841.         BEGIN_INTERFACE
  1842.         
  1843.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1844.             IMediaPropertyBag * This,
  1845.             /* [in] */ REFIID riid,
  1846.             /* [iid_is][out] */ void **ppvObject);
  1847.         
  1848.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1849.             IMediaPropertyBag * This);
  1850.         
  1851.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1852.             IMediaPropertyBag * This);
  1853.         
  1854.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Read )( 
  1855.             IMediaPropertyBag * This,
  1856.             /* [in] */ LPCOLESTR pszPropName,
  1857.             /* [out][in] */ VARIANT *pVar,
  1858.             /* [in] */ IErrorLog *pErrorLog);
  1859.         
  1860.         HRESULT ( STDMETHODCALLTYPE *Write )( 
  1861.             IMediaPropertyBag * This,
  1862.             /* [in] */ LPCOLESTR pszPropName,
  1863.             /* [in] */ VARIANT *pVar);
  1864.         
  1865.         HRESULT ( STDMETHODCALLTYPE *EnumProperty )( 
  1866.             IMediaPropertyBag * This,
  1867.             /* [in] */ ULONG iProperty,
  1868.             /* [out][in] */ VARIANT *pvarPropertyName,
  1869.             /* [out][in] */ VARIANT *pvarPropertyValue);
  1870.         
  1871.         END_INTERFACE
  1872.     } IMediaPropertyBagVtbl;
  1873.     interface IMediaPropertyBag
  1874.     {
  1875.         CONST_VTBL struct IMediaPropertyBagVtbl *lpVtbl;
  1876.     };
  1877.     
  1878. #ifdef COBJMACROS
  1879. #define IMediaPropertyBag_QueryInterface(This,riid,ppvObject)
  1880.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1881. #define IMediaPropertyBag_AddRef(This)
  1882.     (This)->lpVtbl -> AddRef(This)
  1883. #define IMediaPropertyBag_Release(This)
  1884.     (This)->lpVtbl -> Release(This)
  1885. #define IMediaPropertyBag_Read(This,pszPropName,pVar,pErrorLog)
  1886.     (This)->lpVtbl -> Read(This,pszPropName,pVar,pErrorLog)
  1887. #define IMediaPropertyBag_Write(This,pszPropName,pVar)
  1888.     (This)->lpVtbl -> Write(This,pszPropName,pVar)
  1889. #define IMediaPropertyBag_EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue)
  1890.     (This)->lpVtbl -> EnumProperty(This,iProperty,pvarPropertyName,pvarPropertyValue)
  1891. #endif /* COBJMACROS */
  1892. #endif  /* C style interface */
  1893. HRESULT STDMETHODCALLTYPE IMediaPropertyBag_EnumProperty_Proxy( 
  1894.     IMediaPropertyBag * This,
  1895.     /* [in] */ ULONG iProperty,
  1896.     /* [out][in] */ VARIANT *pvarPropertyName,
  1897.     /* [out][in] */ VARIANT *pvarPropertyValue);
  1898. void __RPC_STUB IMediaPropertyBag_EnumProperty_Stub(
  1899.     IRpcStubBuffer *This,
  1900.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1901.     PRPC_MESSAGE _pRpcMessage,
  1902.     DWORD *_pdwStubPhase);
  1903. #endif  /* __IMediaPropertyBag_INTERFACE_DEFINED__ */
  1904. #ifndef __IPersistMediaPropertyBag_INTERFACE_DEFINED__
  1905. #define __IPersistMediaPropertyBag_INTERFACE_DEFINED__
  1906. /* interface IPersistMediaPropertyBag */
  1907. /* [unique][uuid][object] */ 
  1908. typedef IPersistMediaPropertyBag *LPPERSISTMEDIAPROPERTYBAG;
  1909. EXTERN_C const IID IID_IPersistMediaPropertyBag;
  1910. #if defined(__cplusplus) && !defined(CINTERFACE)
  1911.     
  1912.     MIDL_INTERFACE("5738E040-B67F-11d0-BD4D-00A0C911CE86")
  1913.     IPersistMediaPropertyBag : public IPersist
  1914.     {
  1915.     public:
  1916.         virtual HRESULT STDMETHODCALLTYPE InitNew( void) = 0;
  1917.         
  1918.         virtual HRESULT STDMETHODCALLTYPE Load( 
  1919.             /* [in] */ IMediaPropertyBag *pPropBag,
  1920.             /* [in] */ IErrorLog *pErrorLog) = 0;
  1921.         
  1922.         virtual HRESULT STDMETHODCALLTYPE Save( 
  1923.             /* [in] */ IMediaPropertyBag *pPropBag,
  1924.             /* [in] */ BOOL fClearDirty,
  1925.             /* [in] */ BOOL fSaveAllProperties) = 0;
  1926.         
  1927.     };
  1928.     
  1929. #else  /* C style interface */
  1930.     typedef struct IPersistMediaPropertyBagVtbl
  1931.     {
  1932.         BEGIN_INTERFACE
  1933.         
  1934.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1935.             IPersistMediaPropertyBag * This,
  1936.             /* [in] */ REFIID riid,
  1937.             /* [iid_is][out] */ void **ppvObject);
  1938.         
  1939.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1940.             IPersistMediaPropertyBag * This);
  1941.         
  1942.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1943.             IPersistMediaPropertyBag * This);
  1944.         
  1945.         HRESULT ( STDMETHODCALLTYPE *GetClassID )( 
  1946.             IPersistMediaPropertyBag * This,
  1947.             /* [out] */ CLSID *pClassID);
  1948.         
  1949.         HRESULT ( STDMETHODCALLTYPE *InitNew )( 
  1950.             IPersistMediaPropertyBag * This);
  1951.         
  1952.         HRESULT ( STDMETHODCALLTYPE *Load )( 
  1953.             IPersistMediaPropertyBag * This,
  1954.             /* [in] */ IMediaPropertyBag *pPropBag,
  1955.             /* [in] */ IErrorLog *pErrorLog);
  1956.         
  1957.         HRESULT ( STDMETHODCALLTYPE *Save )( 
  1958.             IPersistMediaPropertyBag * This,
  1959.             /* [in] */ IMediaPropertyBag *pPropBag,
  1960.             /* [in] */ BOOL fClearDirty,
  1961.             /* [in] */ BOOL fSaveAllProperties);
  1962.         
  1963.         END_INTERFACE
  1964.     } IPersistMediaPropertyBagVtbl;
  1965.     interface IPersistMediaPropertyBag
  1966.     {
  1967.         CONST_VTBL struct IPersistMediaPropertyBagVtbl *lpVtbl;
  1968.     };
  1969.     
  1970. #ifdef COBJMACROS
  1971. #define IPersistMediaPropertyBag_QueryInterface(This,riid,ppvObject)
  1972.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1973. #define IPersistMediaPropertyBag_AddRef(This)
  1974.     (This)->lpVtbl -> AddRef(This)
  1975. #define IPersistMediaPropertyBag_Release(This)
  1976.     (This)->lpVtbl -> Release(This)
  1977. #define IPersistMediaPropertyBag_GetClassID(This,pClassID)
  1978.     (This)->lpVtbl -> GetClassID(This,pClassID)
  1979. #define IPersistMediaPropertyBag_InitNew(This)
  1980.     (This)->lpVtbl -> InitNew(This)
  1981. #define IPersistMediaPropertyBag_Load(This,pPropBag,pErrorLog)
  1982.     (This)->lpVtbl -> Load(This,pPropBag,pErrorLog)
  1983. #define IPersistMediaPropertyBag_Save(This,pPropBag,fClearDirty,fSaveAllProperties)
  1984.     (This)->lpVtbl -> Save(This,pPropBag,fClearDirty,fSaveAllProperties)
  1985. #endif /* COBJMACROS */
  1986. #endif  /* C style interface */
  1987. HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_InitNew_Proxy( 
  1988.     IPersistMediaPropertyBag * This);
  1989. void __RPC_STUB IPersistMediaPropertyBag_InitNew_Stub(
  1990.     IRpcStubBuffer *This,
  1991.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1992.     PRPC_MESSAGE _pRpcMessage,
  1993.     DWORD *_pdwStubPhase);
  1994. HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_Load_Proxy( 
  1995.     IPersistMediaPropertyBag * This,
  1996.     /* [in] */ IMediaPropertyBag *pPropBag,
  1997.     /* [in] */ IErrorLog *pErrorLog);
  1998. void __RPC_STUB IPersistMediaPropertyBag_Load_Stub(
  1999.     IRpcStubBuffer *This,
  2000.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2001.     PRPC_MESSAGE _pRpcMessage,
  2002.     DWORD *_pdwStubPhase);
  2003. HRESULT STDMETHODCALLTYPE IPersistMediaPropertyBag_Save_Proxy( 
  2004.     IPersistMediaPropertyBag * This,
  2005.     /* [in] */ IMediaPropertyBag *pPropBag,
  2006.     /* [in] */ BOOL fClearDirty,
  2007.     /* [in] */ BOOL fSaveAllProperties);
  2008. void __RPC_STUB IPersistMediaPropertyBag_Save_Stub(
  2009.     IRpcStubBuffer *This,
  2010.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2011.     PRPC_MESSAGE _pRpcMessage,
  2012.     DWORD *_pdwStubPhase);
  2013. #endif  /* __IPersistMediaPropertyBag_INTERFACE_DEFINED__ */
  2014. #ifndef __IAMPhysicalPinInfo_INTERFACE_DEFINED__
  2015. #define __IAMPhysicalPinInfo_INTERFACE_DEFINED__
  2016. /* interface IAMPhysicalPinInfo */
  2017. /* [unique][uuid][object] */ 
  2018. EXTERN_C const IID IID_IAMPhysicalPinInfo;
  2019. #if defined(__cplusplus) && !defined(CINTERFACE)
  2020.     
  2021.     MIDL_INTERFACE("F938C991-3029-11cf-8C44-00AA006B6814")
  2022.     IAMPhysicalPinInfo : public IUnknown
  2023.     {
  2024.     public:
  2025.         virtual HRESULT STDMETHODCALLTYPE GetPhysicalType( 
  2026.             /* [out] */ long *pType,
  2027.             /* [out] */ LPOLESTR *ppszType) = 0;
  2028.         
  2029.     };
  2030.     
  2031. #else  /* C style interface */
  2032.     typedef struct IAMPhysicalPinInfoVtbl
  2033.     {
  2034.         BEGIN_INTERFACE
  2035.         
  2036.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2037.             IAMPhysicalPinInfo * This,
  2038.             /* [in] */ REFIID riid,
  2039.             /* [iid_is][out] */ void **ppvObject);
  2040.         
  2041.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2042.             IAMPhysicalPinInfo * This);
  2043.         
  2044.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2045.             IAMPhysicalPinInfo * This);
  2046.         
  2047.         HRESULT ( STDMETHODCALLTYPE *GetPhysicalType )( 
  2048.             IAMPhysicalPinInfo * This,
  2049.             /* [out] */ long *pType,
  2050.             /* [out] */ LPOLESTR *ppszType);
  2051.         
  2052.         END_INTERFACE
  2053.     } IAMPhysicalPinInfoVtbl;
  2054.     interface IAMPhysicalPinInfo
  2055.     {
  2056.         CONST_VTBL struct IAMPhysicalPinInfoVtbl *lpVtbl;
  2057.     };
  2058.     
  2059. #ifdef COBJMACROS
  2060. #define IAMPhysicalPinInfo_QueryInterface(This,riid,ppvObject)
  2061.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2062. #define IAMPhysicalPinInfo_AddRef(This)
  2063.     (This)->lpVtbl -> AddRef(This)
  2064. #define IAMPhysicalPinInfo_Release(This)
  2065.     (This)->lpVtbl -> Release(This)
  2066. #define IAMPhysicalPinInfo_GetPhysicalType(This,pType,ppszType)
  2067.     (This)->lpVtbl -> GetPhysicalType(This,pType,ppszType)
  2068. #endif /* COBJMACROS */
  2069. #endif  /* C style interface */
  2070. HRESULT STDMETHODCALLTYPE IAMPhysicalPinInfo_GetPhysicalType_Proxy( 
  2071.     IAMPhysicalPinInfo * This,
  2072.     /* [out] */ long *pType,
  2073.     /* [out] */ LPOLESTR *ppszType);
  2074. void __RPC_STUB IAMPhysicalPinInfo_GetPhysicalType_Stub(
  2075.     IRpcStubBuffer *This,
  2076.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2077.     PRPC_MESSAGE _pRpcMessage,
  2078.     DWORD *_pdwStubPhase);
  2079. #endif  /* __IAMPhysicalPinInfo_INTERFACE_DEFINED__ */
  2080. /* interface __MIDL_itf_strmif_0327 */
  2081. /* [local] */ 
  2082. typedef IAMPhysicalPinInfo *PAMPHYSICALPININFO;
  2083. extern RPC_IF_HANDLE __MIDL_itf_strmif_0327_v0_0_c_ifspec;
  2084. extern RPC_IF_HANDLE __MIDL_itf_strmif_0327_v0_0_s_ifspec;
  2085. #ifndef __IAMExtDevice_INTERFACE_DEFINED__
  2086. #define __IAMExtDevice_INTERFACE_DEFINED__
  2087. /* interface IAMExtDevice */
  2088. /* [unique][uuid][object] */ 
  2089. EXTERN_C const IID IID_IAMExtDevice;
  2090. #if defined(__cplusplus) && !defined(CINTERFACE)
  2091.     
  2092.     MIDL_INTERFACE("B5730A90-1A2C-11cf-8C23-00AA006B6814")
  2093.     IAMExtDevice : public IUnknown
  2094.     {
  2095.     public:
  2096.         virtual HRESULT STDMETHODCALLTYPE GetCapability( 
  2097.             /* [in] */ long Capability,
  2098.             /* [out] */ long *pValue,
  2099.             /* [out] */ double *pdblValue) = 0;
  2100.         
  2101.         virtual HRESULT STDMETHODCALLTYPE get_ExternalDeviceID( 
  2102.             /* [out] */ LPOLESTR *ppszData) = 0;
  2103.         
  2104.         virtual HRESULT STDMETHODCALLTYPE get_ExternalDeviceVersion( 
  2105.             /* [out] */ LPOLESTR *ppszData) = 0;
  2106.         
  2107.         virtual HRESULT STDMETHODCALLTYPE put_DevicePower( 
  2108.             /* [in] */ long PowerMode) = 0;
  2109.         
  2110.         virtual HRESULT STDMETHODCALLTYPE get_DevicePower( 
  2111.             /* [out] */ long *pPowerMode) = 0;
  2112.         
  2113.         virtual HRESULT STDMETHODCALLTYPE Calibrate( 
  2114.             /* [in] */ HEVENT hEvent,
  2115.             /* [in] */ long Mode,
  2116.             /* [out] */ long *pStatus) = 0;
  2117.         
  2118.         virtual HRESULT STDMETHODCALLTYPE put_DevicePort( 
  2119.             /* [in] */ long DevicePort) = 0;
  2120.         
  2121.         virtual HRESULT STDMETHODCALLTYPE get_DevicePort( 
  2122.             /* [out] */ long *pDevicePort) = 0;
  2123.         
  2124.     };
  2125.     
  2126. #else  /* C style interface */
  2127.     typedef struct IAMExtDeviceVtbl
  2128.     {
  2129.         BEGIN_INTERFACE
  2130.         
  2131.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2132.             IAMExtDevice * This,
  2133.             /* [in] */ REFIID riid,
  2134.             /* [iid_is][out] */ void **ppvObject);
  2135.         
  2136.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2137.             IAMExtDevice * This);
  2138.         
  2139.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2140.             IAMExtDevice * This);
  2141.         
  2142.         HRESULT ( STDMETHODCALLTYPE *GetCapability )( 
  2143.             IAMExtDevice * This,
  2144.             /* [in] */ long Capability,
  2145.             /* [out] */ long *pValue,
  2146.             /* [out] */ double *pdblValue);
  2147.         
  2148.         HRESULT ( STDMETHODCALLTYPE *get_ExternalDeviceID )( 
  2149.             IAMExtDevice * This,
  2150.             /* [out] */ LPOLESTR *ppszData);
  2151.         
  2152.         HRESULT ( STDMETHODCALLTYPE *get_ExternalDeviceVersion )( 
  2153.             IAMExtDevice * This,
  2154.             /* [out] */ LPOLESTR *ppszData);
  2155.         
  2156.         HRESULT ( STDMETHODCALLTYPE *put_DevicePower )( 
  2157.             IAMExtDevice * This,
  2158.             /* [in] */ long PowerMode);
  2159.         
  2160.         HRESULT ( STDMETHODCALLTYPE *get_DevicePower )( 
  2161.             IAMExtDevice * This,
  2162.             /* [out] */ long *pPowerMode);
  2163.         
  2164.         HRESULT ( STDMETHODCALLTYPE *Calibrate )( 
  2165.             IAMExtDevice * This,
  2166.             /* [in] */ HEVENT hEvent,
  2167.             /* [in] */ long Mode,
  2168.             /* [out] */ long *pStatus);
  2169.         
  2170.         HRESULT ( STDMETHODCALLTYPE *put_DevicePort )( 
  2171.             IAMExtDevice * This,
  2172.             /* [in] */ long DevicePort);
  2173.         
  2174.         HRESULT ( STDMETHODCALLTYPE *get_DevicePort )( 
  2175.             IAMExtDevice * This,
  2176.             /* [out] */ long *pDevicePort);
  2177.         
  2178.         END_INTERFACE
  2179.     } IAMExtDeviceVtbl;
  2180.     interface IAMExtDevice
  2181.     {
  2182.         CONST_VTBL struct IAMExtDeviceVtbl *lpVtbl;
  2183.     };
  2184.     
  2185. #ifdef COBJMACROS
  2186. #define IAMExtDevice_QueryInterface(This,riid,ppvObject)
  2187.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2188. #define IAMExtDevice_AddRef(This)
  2189.     (This)->lpVtbl -> AddRef(This)
  2190. #define IAMExtDevice_Release(This)
  2191.     (This)->lpVtbl -> Release(This)
  2192. #define IAMExtDevice_GetCapability(This,Capability,pValue,pdblValue)
  2193.     (This)->lpVtbl -> GetCapability(This,Capability,pValue,pdblValue)
  2194. #define IAMExtDevice_get_ExternalDeviceID(This,ppszData)
  2195.     (This)->lpVtbl -> get_ExternalDeviceID(This,ppszData)
  2196. #define IAMExtDevice_get_ExternalDeviceVersion(This,ppszData)
  2197.     (This)->lpVtbl -> get_ExternalDeviceVersion(This,ppszData)
  2198. #define IAMExtDevice_put_DevicePower(This,PowerMode)
  2199.     (This)->lpVtbl -> put_DevicePower(This,PowerMode)
  2200. #define IAMExtDevice_get_DevicePower(This,pPowerMode)
  2201.     (This)->lpVtbl -> get_DevicePower(This,pPowerMode)
  2202. #define IAMExtDevice_Calibrate(This,hEvent,Mode,pStatus)
  2203.     (This)->lpVtbl -> Calibrate(This,hEvent,Mode,pStatus)
  2204. #define IAMExtDevice_put_DevicePort(This,DevicePort)
  2205.     (This)->lpVtbl -> put_DevicePort(This,DevicePort)
  2206. #define IAMExtDevice_get_DevicePort(This,pDevicePort)
  2207.     (This)->lpVtbl -> get_DevicePort(This,pDevicePort)
  2208. #endif /* COBJMACROS */
  2209. #endif  /* C style interface */
  2210. HRESULT STDMETHODCALLTYPE IAMExtDevice_GetCapability_Proxy( 
  2211.     IAMExtDevice * This,
  2212.     /* [in] */ long Capability,
  2213.     /* [out] */ long *pValue,
  2214.     /* [out] */ double *pdblValue);
  2215. void __RPC_STUB IAMExtDevice_GetCapability_Stub(
  2216.     IRpcStubBuffer *This,
  2217.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2218.     PRPC_MESSAGE _pRpcMessage,
  2219.     DWORD *_pdwStubPhase);
  2220. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_ExternalDeviceID_Proxy( 
  2221.     IAMExtDevice * This,
  2222.     /* [out] */ LPOLESTR *ppszData);
  2223. void __RPC_STUB IAMExtDevice_get_ExternalDeviceID_Stub(
  2224.     IRpcStubBuffer *This,
  2225.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2226.     PRPC_MESSAGE _pRpcMessage,
  2227.     DWORD *_pdwStubPhase);
  2228. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_ExternalDeviceVersion_Proxy( 
  2229.     IAMExtDevice * This,
  2230.     /* [out] */ LPOLESTR *ppszData);
  2231. void __RPC_STUB IAMExtDevice_get_ExternalDeviceVersion_Stub(
  2232.     IRpcStubBuffer *This,
  2233.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2234.     PRPC_MESSAGE _pRpcMessage,
  2235.     DWORD *_pdwStubPhase);
  2236. HRESULT STDMETHODCALLTYPE IAMExtDevice_put_DevicePower_Proxy( 
  2237.     IAMExtDevice * This,
  2238.     /* [in] */ long PowerMode);
  2239. void __RPC_STUB IAMExtDevice_put_DevicePower_Stub(
  2240.     IRpcStubBuffer *This,
  2241.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2242.     PRPC_MESSAGE _pRpcMessage,
  2243.     DWORD *_pdwStubPhase);
  2244. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_DevicePower_Proxy( 
  2245.     IAMExtDevice * This,
  2246.     /* [out] */ long *pPowerMode);
  2247. void __RPC_STUB IAMExtDevice_get_DevicePower_Stub(
  2248.     IRpcStubBuffer *This,
  2249.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2250.     PRPC_MESSAGE _pRpcMessage,
  2251.     DWORD *_pdwStubPhase);
  2252. HRESULT STDMETHODCALLTYPE IAMExtDevice_Calibrate_Proxy( 
  2253.     IAMExtDevice * This,
  2254.     /* [in] */ HEVENT hEvent,
  2255.     /* [in] */ long Mode,
  2256.     /* [out] */ long *pStatus);
  2257. void __RPC_STUB IAMExtDevice_Calibrate_Stub(
  2258.     IRpcStubBuffer *This,
  2259.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2260.     PRPC_MESSAGE _pRpcMessage,
  2261.     DWORD *_pdwStubPhase);
  2262. HRESULT STDMETHODCALLTYPE IAMExtDevice_put_DevicePort_Proxy( 
  2263.     IAMExtDevice * This,
  2264.     /* [in] */ long DevicePort);
  2265. void __RPC_STUB IAMExtDevice_put_DevicePort_Stub(
  2266.     IRpcStubBuffer *This,
  2267.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2268.     PRPC_MESSAGE _pRpcMessage,
  2269.     DWORD *_pdwStubPhase);
  2270. HRESULT STDMETHODCALLTYPE IAMExtDevice_get_DevicePort_Proxy( 
  2271.     IAMExtDevice * This,
  2272.     /* [out] */ long *pDevicePort);
  2273. void __RPC_STUB IAMExtDevice_get_DevicePort_Stub(
  2274.     IRpcStubBuffer *This,
  2275.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2276.     PRPC_MESSAGE _pRpcMessage,
  2277.     DWORD *_pdwStubPhase);
  2278. #endif  /* __IAMExtDevice_INTERFACE_DEFINED__ */
  2279. /* interface __MIDL_itf_strmif_0328 */
  2280. /* [local] */ 
  2281. typedef IAMExtDevice *PEXTDEVICE;
  2282. extern RPC_IF_HANDLE __MIDL_itf_strmif_0328_v0_0_c_ifspec;
  2283. extern RPC_IF_HANDLE __MIDL_itf_strmif_0328_v0_0_s_ifspec;
  2284. #ifndef __IAMExtTransport_INTERFACE_DEFINED__
  2285. #define __IAMExtTransport_INTERFACE_DEFINED__
  2286. /* interface IAMExtTransport */
  2287. /* [unique][uuid][object] */ 
  2288. EXTERN_C const IID IID_IAMExtTransport;
  2289. #if defined(__cplusplus) && !defined(CINTERFACE)
  2290.     
  2291.     MIDL_INTERFACE("A03CD5F0-3045-11cf-8C44-00AA006B6814")
  2292.     IAMExtTransport : public IUnknown
  2293.     {
  2294.     public:
  2295.         virtual HRESULT STDMETHODCALLTYPE GetCapability( 
  2296.             /* [in] */ long Capability,
  2297.             /* [out] */ long *pValue,
  2298.             /* [out] */ double *pdblValue) = 0;
  2299.         
  2300.         virtual HRESULT STDMETHODCALLTYPE put_MediaState( 
  2301.             /* [in] */ long State) = 0;
  2302.         
  2303.         virtual HRESULT STDMETHODCALLTYPE get_MediaState( 
  2304.             /* [out] */ long *pState) = 0;
  2305.         
  2306.         virtual HRESULT STDMETHODCALLTYPE put_LocalControl( 
  2307.             /* [in] */ long State) = 0;
  2308.         
  2309.         virtual HRESULT STDMETHODCALLTYPE get_LocalControl( 
  2310.             /* [out] */ long *pState) = 0;
  2311.         
  2312.         virtual HRESULT STDMETHODCALLTYPE GetStatus( 
  2313.             /* [in] */ long StatusItem,
  2314.             /* [out] */ long *pValue) = 0;
  2315.         
  2316.         virtual HRESULT STDMETHODCALLTYPE GetTransportBasicParameters( 
  2317.             /* [in] */ long Param,
  2318.             /* [out] */ long *pValue,
  2319.             /* [out] */ LPOLESTR *ppszData) = 0;
  2320.         
  2321.         virtual HRESULT STDMETHODCALLTYPE SetTransportBasicParameters( 
  2322.             /* [in] */ long Param,
  2323.             /* [in] */ long Value,
  2324.             /* [in] */ LPCOLESTR pszData) = 0;
  2325.         
  2326.         virtual HRESULT STDMETHODCALLTYPE GetTransportVideoParameters( 
  2327.             /* [in] */ long Param,
  2328.             /* [out] */ long *pValue) = 0;
  2329.         
  2330.         virtual HRESULT STDMETHODCALLTYPE SetTransportVideoParameters( 
  2331.             /* [in] */ long Param,
  2332.             /* [in] */ long Value) = 0;
  2333.         
  2334.         virtual HRESULT STDMETHODCALLTYPE GetTransportAudioParameters( 
  2335.             /* [in] */ long Param,
  2336.             /* [out] */ long *pValue) = 0;
  2337.         
  2338.         virtual HRESULT STDMETHODCALLTYPE SetTransportAudioParameters( 
  2339.             /* [in] */ long Param,
  2340.             /* [in] */ long Value) = 0;
  2341.         
  2342.         virtual HRESULT STDMETHODCALLTYPE put_Mode( 
  2343.             /* [in] */ long Mode) = 0;
  2344.         
  2345.         virtual HRESULT STDMETHODCALLTYPE get_Mode( 
  2346.             /* [out] */ long *pMode) = 0;
  2347.         
  2348.         virtual HRESULT STDMETHODCALLTYPE put_Rate( 
  2349.             /* [in] */ double dblRate) = 0;
  2350.         
  2351.         virtual HRESULT STDMETHODCALLTYPE get_Rate( 
  2352.             /* [out] */ double *pdblRate) = 0;
  2353.         
  2354.         virtual HRESULT STDMETHODCALLTYPE GetChase( 
  2355.             /* [out] */ long *pEnabled,
  2356.             /* [out] */ long *pOffset,
  2357.             /* [out] */ HEVENT *phEvent) = 0;
  2358.         
  2359.         virtual HRESULT STDMETHODCALLTYPE SetChase( 
  2360.             /* [in] */ long Enable,
  2361.             /* [in] */ long Offset,
  2362.             /* [in] */ HEVENT hEvent) = 0;
  2363.         
  2364.         virtual HRESULT STDMETHODCALLTYPE GetBump( 
  2365.             /* [out] */ long *pSpeed,
  2366.             /* [out] */ long *pDuration) = 0;
  2367.         
  2368.         virtual HRESULT STDMETHODCALLTYPE SetBump( 
  2369.             /* [in] */ long Speed,
  2370.             /* [in] */ long Duration) = 0;
  2371.         
  2372.         virtual HRESULT STDMETHODCALLTYPE get_AntiClogControl( 
  2373.             /* [out] */ long *pEnabled) = 0;
  2374.         
  2375.         virtual HRESULT STDMETHODCALLTYPE put_AntiClogControl( 
  2376.             /* [in] */ long Enable) = 0;
  2377.         
  2378.         virtual HRESULT STDMETHODCALLTYPE GetEditPropertySet( 
  2379.             /* [in] */ long EditID,
  2380.             /* [out] */ long *pState) = 0;
  2381.         
  2382.         virtual HRESULT STDMETHODCALLTYPE SetEditPropertySet( 
  2383.             /* [out][in] */ long *pEditID,
  2384.             /* [in] */ long State) = 0;
  2385.         
  2386.         virtual HRESULT STDMETHODCALLTYPE GetEditProperty( 
  2387.             /* [in] */ long EditID,
  2388.             /* [in] */ long Param,
  2389.             /* [out] */ long *pValue) = 0;
  2390.         
  2391.         virtual HRESULT STDMETHODCALLTYPE SetEditProperty( 
  2392.             /* [in] */ long EditID,
  2393.             /* [in] */ long Param,
  2394.             /* [in] */ long Value) = 0;
  2395.         
  2396.         virtual HRESULT STDMETHODCALLTYPE get_EditStart( 
  2397.             /* [out] */ long *pValue) = 0;
  2398.         
  2399.         virtual HRESULT STDMETHODCALLTYPE put_EditStart( 
  2400.             /* [in] */ long Value) = 0;
  2401.         
  2402.     };
  2403.     
  2404. #else  /* C style interface */
  2405.     typedef struct IAMExtTransportVtbl
  2406.     {
  2407.         BEGIN_INTERFACE
  2408.         
  2409.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2410.             IAMExtTransport * This,
  2411.             /* [in] */ REFIID riid,
  2412.             /* [iid_is][out] */ void **ppvObject);
  2413.         
  2414.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2415.             IAMExtTransport * This);
  2416.         
  2417.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2418.             IAMExtTransport * This);
  2419.         
  2420.         HRESULT ( STDMETHODCALLTYPE *GetCapability )( 
  2421.             IAMExtTransport * This,
  2422.             /* [in] */ long Capability,
  2423.             /* [out] */ long *pValue,
  2424.             /* [out] */ double *pdblValue);
  2425.         
  2426.         HRESULT ( STDMETHODCALLTYPE *put_MediaState )( 
  2427.             IAMExtTransport * This,
  2428.             /* [in] */ long State);
  2429.         
  2430.         HRESULT ( STDMETHODCALLTYPE *get_MediaState )( 
  2431.             IAMExtTransport * This,
  2432.             /* [out] */ long *pState);
  2433.         
  2434.         HRESULT ( STDMETHODCALLTYPE *put_LocalControl )( 
  2435.             IAMExtTransport * This,
  2436.             /* [in] */ long State);
  2437.         
  2438.         HRESULT ( STDMETHODCALLTYPE *get_LocalControl )( 
  2439.             IAMExtTransport * This,
  2440.             /* [out] */ long *pState);
  2441.         
  2442.         HRESULT ( STDMETHODCALLTYPE *GetStatus )( 
  2443.             IAMExtTransport * This,
  2444.             /* [in] */ long StatusItem,
  2445.             /* [out] */ long *pValue);
  2446.         
  2447.         HRESULT ( STDMETHODCALLTYPE *GetTransportBasicParameters )( 
  2448.             IAMExtTransport * This,
  2449.             /* [in] */ long Param,
  2450.             /* [out] */ long *pValue,
  2451.             /* [out] */ LPOLESTR *ppszData);
  2452.         
  2453.         HRESULT ( STDMETHODCALLTYPE *SetTransportBasicParameters )( 
  2454.             IAMExtTransport * This,
  2455.             /* [in] */ long Param,
  2456.             /* [in] */ long Value,
  2457.             /* [in] */ LPCOLESTR pszData);
  2458.         
  2459.         HRESULT ( STDMETHODCALLTYPE *GetTransportVideoParameters )( 
  2460.             IAMExtTransport * This,
  2461.             /* [in] */ long Param,
  2462.             /* [out] */ long *pValue);
  2463.         
  2464.         HRESULT ( STDMETHODCALLTYPE *SetTransportVideoParameters )( 
  2465.             IAMExtTransport * This,
  2466.             /* [in] */ long Param,
  2467.             /* [in] */ long Value);
  2468.         
  2469.         HRESULT ( STDMETHODCALLTYPE *GetTransportAudioParameters )( 
  2470.             IAMExtTransport * This,
  2471.             /* [in] */ long Param,
  2472.             /* [out] */ long *pValue);
  2473.         
  2474.         HRESULT ( STDMETHODCALLTYPE *SetTransportAudioParameters )( 
  2475.             IAMExtTransport * This,
  2476.             /* [in] */ long Param,
  2477.             /* [in] */ long Value);
  2478.         
  2479.         HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
  2480.             IAMExtTransport * This,
  2481.             /* [in] */ long Mode);
  2482.         
  2483.         HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
  2484.             IAMExtTransport * This,
  2485.             /* [out] */ long *pMode);
  2486.         
  2487.         HRESULT ( STDMETHODCALLTYPE *put_Rate )( 
  2488.             IAMExtTransport * This,
  2489.             /* [in] */ double dblRate);
  2490.         
  2491.         HRESULT ( STDMETHODCALLTYPE *get_Rate )( 
  2492.             IAMExtTransport * This,
  2493.             /* [out] */ double *pdblRate);
  2494.         
  2495.         HRESULT ( STDMETHODCALLTYPE *GetChase )( 
  2496.             IAMExtTransport * This,
  2497.             /* [out] */ long *pEnabled,
  2498.             /* [out] */ long *pOffset,
  2499.             /* [out] */ HEVENT *phEvent);
  2500.         
  2501.         HRESULT ( STDMETHODCALLTYPE *SetChase )( 
  2502.             IAMExtTransport * This,
  2503.             /* [in] */ long Enable,
  2504.             /* [in] */ long Offset,
  2505.             /* [in] */ HEVENT hEvent);
  2506.         
  2507.         HRESULT ( STDMETHODCALLTYPE *GetBump )( 
  2508.             IAMExtTransport * This,
  2509.             /* [out] */ long *pSpeed,
  2510.             /* [out] */ long *pDuration);
  2511.         
  2512.         HRESULT ( STDMETHODCALLTYPE *SetBump )( 
  2513.             IAMExtTransport * This,
  2514.             /* [in] */ long Speed,
  2515.             /* [in] */ long Duration);
  2516.         
  2517.         HRESULT ( STDMETHODCALLTYPE *get_AntiClogControl )( 
  2518.             IAMExtTransport * This,
  2519.             /* [out] */ long *pEnabled);
  2520.         
  2521.         HRESULT ( STDMETHODCALLTYPE *put_AntiClogControl )( 
  2522.             IAMExtTransport * This,
  2523.             /* [in] */ long Enable);
  2524.         
  2525.         HRESULT ( STDMETHODCALLTYPE *GetEditPropertySet )( 
  2526.             IAMExtTransport * This,
  2527.             /* [in] */ long EditID,
  2528.             /* [out] */ long *pState);
  2529.         
  2530.         HRESULT ( STDMETHODCALLTYPE *SetEditPropertySet )( 
  2531.             IAMExtTransport * This,
  2532.             /* [out][in] */ long *pEditID,
  2533.             /* [in] */ long State);
  2534.         
  2535.         HRESULT ( STDMETHODCALLTYPE *GetEditProperty )( 
  2536.             IAMExtTransport * This,
  2537.             /* [in] */ long EditID,
  2538.             /* [in] */ long Param,
  2539.             /* [out] */ long *pValue);
  2540.         
  2541.         HRESULT ( STDMETHODCALLTYPE *SetEditProperty )( 
  2542.             IAMExtTransport * This,
  2543.             /* [in] */ long EditID,
  2544.             /* [in] */ long Param,
  2545.             /* [in] */ long Value);
  2546.         
  2547.         HRESULT ( STDMETHODCALLTYPE *get_EditStart )( 
  2548.             IAMExtTransport * This,
  2549.             /* [out] */ long *pValue);
  2550.         
  2551.         HRESULT ( STDMETHODCALLTYPE *put_EditStart )( 
  2552.             IAMExtTransport * This,
  2553.             /* [in] */ long Value);
  2554.         
  2555.         END_INTERFACE
  2556.     } IAMExtTransportVtbl;
  2557.     interface IAMExtTransport
  2558.     {
  2559.         CONST_VTBL struct IAMExtTransportVtbl *lpVtbl;
  2560.     };
  2561.     
  2562. #ifdef COBJMACROS
  2563. #define IAMExtTransport_QueryInterface(This,riid,ppvObject)
  2564.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2565. #define IAMExtTransport_AddRef(This)
  2566.     (This)->lpVtbl -> AddRef(This)
  2567. #define IAMExtTransport_Release(This)
  2568.     (This)->lpVtbl -> Release(This)
  2569. #define IAMExtTransport_GetCapability(This,Capability,pValue,pdblValue)
  2570.     (This)->lpVtbl -> GetCapability(This,Capability,pValue,pdblValue)
  2571. #define IAMExtTransport_put_MediaState(This,State)
  2572.     (This)->lpVtbl -> put_MediaState(This,State)
  2573. #define IAMExtTransport_get_MediaState(This,pState)
  2574.     (This)->lpVtbl -> get_MediaState(This,pState)
  2575. #define IAMExtTransport_put_LocalControl(This,State)
  2576.     (This)->lpVtbl -> put_LocalControl(This,State)
  2577. #define IAMExtTransport_get_LocalControl(This,pState)
  2578.     (This)->lpVtbl -> get_LocalControl(This,pState)
  2579. #define IAMExtTransport_GetStatus(This,StatusItem,pValue)
  2580.     (This)->lpVtbl -> GetStatus(This,StatusItem,pValue)
  2581. #define IAMExtTransport_GetTransportBasicParameters(This,Param,pValue,ppszData)
  2582.     (This)->lpVtbl -> GetTransportBasicParameters(This,Param,pValue,ppszData)
  2583. #define IAMExtTransport_SetTransportBasicParameters(This,Param,Value,pszData)
  2584.     (This)->lpVtbl -> SetTransportBasicParameters(This,Param,Value,pszData)
  2585. #define IAMExtTransport_GetTransportVideoParameters(This,Param,pValue)
  2586.     (This)->lpVtbl -> GetTransportVideoParameters(This,Param,pValue)
  2587. #define IAMExtTransport_SetTransportVideoParameters(This,Param,Value)
  2588.     (This)->lpVtbl -> SetTransportVideoParameters(This,Param,Value)
  2589. #define IAMExtTransport_GetTransportAudioParameters(This,Param,pValue)
  2590.     (This)->lpVtbl -> GetTransportAudioParameters(This,Param,pValue)
  2591. #define IAMExtTransport_SetTransportAudioParameters(This,Param,Value)
  2592.     (This)->lpVtbl -> SetTransportAudioParameters(This,Param,Value)
  2593. #define IAMExtTransport_put_Mode(This,Mode)
  2594.     (This)->lpVtbl -> put_Mode(This,Mode)
  2595. #define IAMExtTransport_get_Mode(This,pMode)
  2596.     (This)->lpVtbl -> get_Mode(This,pMode)
  2597. #define IAMExtTransport_put_Rate(This,dblRate)
  2598.     (This)->lpVtbl -> put_Rate(This,dblRate)
  2599. #define IAMExtTransport_get_Rate(This,pdblRate)
  2600.     (This)->lpVtbl -> get_Rate(This,pdblRate)
  2601. #define IAMExtTransport_GetChase(This,pEnabled,pOffset,phEvent)
  2602.     (This)->lpVtbl -> GetChase(This,pEnabled,pOffset,phEvent)
  2603. #define IAMExtTransport_SetChase(This,Enable,Offset,hEvent)
  2604.     (This)->lpVtbl -> SetChase(This,Enable,Offset,hEvent)
  2605. #define IAMExtTransport_GetBump(This,pSpeed,pDuration)
  2606.     (This)->lpVtbl -> GetBump(This,pSpeed,pDuration)
  2607. #define IAMExtTransport_SetBump(This,Speed,Duration)
  2608.     (This)->lpVtbl -> SetBump(This,Speed,Duration)
  2609. #define IAMExtTransport_get_AntiClogControl(This,pEnabled)
  2610.     (This)->lpVtbl -> get_AntiClogControl(This,pEnabled)
  2611. #define IAMExtTransport_put_AntiClogControl(This,Enable)
  2612.     (This)->lpVtbl -> put_AntiClogControl(This,Enable)
  2613. #define IAMExtTransport_GetEditPropertySet(This,EditID,pState)
  2614.     (This)->lpVtbl -> GetEditPropertySet(This,EditID,pState)
  2615. #define IAMExtTransport_SetEditPropertySet(This,pEditID,State)
  2616.     (This)->lpVtbl -> SetEditPropertySet(This,pEditID,State)
  2617. #define IAMExtTransport_GetEditProperty(This,EditID,Param,pValue)
  2618.     (This)->lpVtbl -> GetEditProperty(This,EditID,Param,pValue)
  2619. #define IAMExtTransport_SetEditProperty(This,EditID,Param,Value)
  2620.     (This)->lpVtbl -> SetEditProperty(This,EditID,Param,Value)
  2621. #define IAMExtTransport_get_EditStart(This,pValue)
  2622.     (This)->lpVtbl -> get_EditStart(This,pValue)
  2623. #define IAMExtTransport_put_EditStart(This,Value)
  2624.     (This)->lpVtbl -> put_EditStart(This,Value)
  2625. #endif /* COBJMACROS */
  2626. #endif  /* C style interface */
  2627. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetCapability_Proxy( 
  2628.     IAMExtTransport * This,
  2629.     /* [in] */ long Capability,
  2630.     /* [out] */ long *pValue,
  2631.     /* [out] */ double *pdblValue);
  2632. void __RPC_STUB IAMExtTransport_GetCapability_Stub(
  2633.     IRpcStubBuffer *This,
  2634.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2635.     PRPC_MESSAGE _pRpcMessage,
  2636.     DWORD *_pdwStubPhase);
  2637. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_MediaState_Proxy( 
  2638.     IAMExtTransport * This,
  2639.     /* [in] */ long State);
  2640. void __RPC_STUB IAMExtTransport_put_MediaState_Stub(
  2641.     IRpcStubBuffer *This,
  2642.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2643.     PRPC_MESSAGE _pRpcMessage,
  2644.     DWORD *_pdwStubPhase);
  2645. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_MediaState_Proxy( 
  2646.     IAMExtTransport * This,
  2647.     /* [out] */ long *pState);
  2648. void __RPC_STUB IAMExtTransport_get_MediaState_Stub(
  2649.     IRpcStubBuffer *This,
  2650.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2651.     PRPC_MESSAGE _pRpcMessage,
  2652.     DWORD *_pdwStubPhase);
  2653. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_LocalControl_Proxy( 
  2654.     IAMExtTransport * This,
  2655.     /* [in] */ long State);
  2656. void __RPC_STUB IAMExtTransport_put_LocalControl_Stub(
  2657.     IRpcStubBuffer *This,
  2658.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2659.     PRPC_MESSAGE _pRpcMessage,
  2660.     DWORD *_pdwStubPhase);
  2661. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_LocalControl_Proxy( 
  2662.     IAMExtTransport * This,
  2663.     /* [out] */ long *pState);
  2664. void __RPC_STUB IAMExtTransport_get_LocalControl_Stub(
  2665.     IRpcStubBuffer *This,
  2666.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2667.     PRPC_MESSAGE _pRpcMessage,
  2668.     DWORD *_pdwStubPhase);
  2669. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetStatus_Proxy( 
  2670.     IAMExtTransport * This,
  2671.     /* [in] */ long StatusItem,
  2672.     /* [out] */ long *pValue);
  2673. void __RPC_STUB IAMExtTransport_GetStatus_Stub(
  2674.     IRpcStubBuffer *This,
  2675.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2676.     PRPC_MESSAGE _pRpcMessage,
  2677.     DWORD *_pdwStubPhase);
  2678. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportBasicParameters_Proxy( 
  2679.     IAMExtTransport * This,
  2680.     /* [in] */ long Param,
  2681.     /* [out] */ long *pValue,
  2682.     /* [out] */ LPOLESTR *ppszData);
  2683. void __RPC_STUB IAMExtTransport_GetTransportBasicParameters_Stub(
  2684.     IRpcStubBuffer *This,
  2685.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2686.     PRPC_MESSAGE _pRpcMessage,
  2687.     DWORD *_pdwStubPhase);
  2688. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportBasicParameters_Proxy( 
  2689.     IAMExtTransport * This,
  2690.     /* [in] */ long Param,
  2691.     /* [in] */ long Value,
  2692.     /* [in] */ LPCOLESTR pszData);
  2693. void __RPC_STUB IAMExtTransport_SetTransportBasicParameters_Stub(
  2694.     IRpcStubBuffer *This,
  2695.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2696.     PRPC_MESSAGE _pRpcMessage,
  2697.     DWORD *_pdwStubPhase);
  2698. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportVideoParameters_Proxy( 
  2699.     IAMExtTransport * This,
  2700.     /* [in] */ long Param,
  2701.     /* [out] */ long *pValue);
  2702. void __RPC_STUB IAMExtTransport_GetTransportVideoParameters_Stub(
  2703.     IRpcStubBuffer *This,
  2704.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2705.     PRPC_MESSAGE _pRpcMessage,
  2706.     DWORD *_pdwStubPhase);
  2707. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportVideoParameters_Proxy( 
  2708.     IAMExtTransport * This,
  2709.     /* [in] */ long Param,
  2710.     /* [in] */ long Value);
  2711. void __RPC_STUB IAMExtTransport_SetTransportVideoParameters_Stub(
  2712.     IRpcStubBuffer *This,
  2713.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2714.     PRPC_MESSAGE _pRpcMessage,
  2715.     DWORD *_pdwStubPhase);
  2716. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetTransportAudioParameters_Proxy( 
  2717.     IAMExtTransport * This,
  2718.     /* [in] */ long Param,
  2719.     /* [out] */ long *pValue);
  2720. void __RPC_STUB IAMExtTransport_GetTransportAudioParameters_Stub(
  2721.     IRpcStubBuffer *This,
  2722.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2723.     PRPC_MESSAGE _pRpcMessage,
  2724.     DWORD *_pdwStubPhase);
  2725. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetTransportAudioParameters_Proxy( 
  2726.     IAMExtTransport * This,
  2727.     /* [in] */ long Param,
  2728.     /* [in] */ long Value);
  2729. void __RPC_STUB IAMExtTransport_SetTransportAudioParameters_Stub(
  2730.     IRpcStubBuffer *This,
  2731.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2732.     PRPC_MESSAGE _pRpcMessage,
  2733.     DWORD *_pdwStubPhase);
  2734. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_Mode_Proxy( 
  2735.     IAMExtTransport * This,
  2736.     /* [in] */ long Mode);
  2737. void __RPC_STUB IAMExtTransport_put_Mode_Stub(
  2738.     IRpcStubBuffer *This,
  2739.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2740.     PRPC_MESSAGE _pRpcMessage,
  2741.     DWORD *_pdwStubPhase);
  2742. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_Mode_Proxy( 
  2743.     IAMExtTransport * This,
  2744.     /* [out] */ long *pMode);
  2745. void __RPC_STUB IAMExtTransport_get_Mode_Stub(
  2746.     IRpcStubBuffer *This,
  2747.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2748.     PRPC_MESSAGE _pRpcMessage,
  2749.     DWORD *_pdwStubPhase);
  2750. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_Rate_Proxy( 
  2751.     IAMExtTransport * This,
  2752.     /* [in] */ double dblRate);
  2753. void __RPC_STUB IAMExtTransport_put_Rate_Stub(
  2754.     IRpcStubBuffer *This,
  2755.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2756.     PRPC_MESSAGE _pRpcMessage,
  2757.     DWORD *_pdwStubPhase);
  2758. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_Rate_Proxy( 
  2759.     IAMExtTransport * This,
  2760.     /* [out] */ double *pdblRate);
  2761. void __RPC_STUB IAMExtTransport_get_Rate_Stub(
  2762.     IRpcStubBuffer *This,
  2763.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2764.     PRPC_MESSAGE _pRpcMessage,
  2765.     DWORD *_pdwStubPhase);
  2766. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetChase_Proxy( 
  2767.     IAMExtTransport * This,
  2768.     /* [out] */ long *pEnabled,
  2769.     /* [out] */ long *pOffset,
  2770.     /* [out] */ HEVENT *phEvent);
  2771. void __RPC_STUB IAMExtTransport_GetChase_Stub(
  2772.     IRpcStubBuffer *This,
  2773.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2774.     PRPC_MESSAGE _pRpcMessage,
  2775.     DWORD *_pdwStubPhase);
  2776. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetChase_Proxy( 
  2777.     IAMExtTransport * This,
  2778.     /* [in] */ long Enable,
  2779.     /* [in] */ long Offset,
  2780.     /* [in] */ HEVENT hEvent);
  2781. void __RPC_STUB IAMExtTransport_SetChase_Stub(
  2782.     IRpcStubBuffer *This,
  2783.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2784.     PRPC_MESSAGE _pRpcMessage,
  2785.     DWORD *_pdwStubPhase);
  2786. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetBump_Proxy( 
  2787.     IAMExtTransport * This,
  2788.     /* [out] */ long *pSpeed,
  2789.     /* [out] */ long *pDuration);
  2790. void __RPC_STUB IAMExtTransport_GetBump_Stub(
  2791.     IRpcStubBuffer *This,
  2792.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2793.     PRPC_MESSAGE _pRpcMessage,
  2794.     DWORD *_pdwStubPhase);
  2795. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetBump_Proxy( 
  2796.     IAMExtTransport * This,
  2797.     /* [in] */ long Speed,
  2798.     /* [in] */ long Duration);
  2799. void __RPC_STUB IAMExtTransport_SetBump_Stub(
  2800.     IRpcStubBuffer *This,
  2801.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2802.     PRPC_MESSAGE _pRpcMessage,
  2803.     DWORD *_pdwStubPhase);
  2804. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_AntiClogControl_Proxy( 
  2805.     IAMExtTransport * This,
  2806.     /* [out] */ long *pEnabled);
  2807. void __RPC_STUB IAMExtTransport_get_AntiClogControl_Stub(
  2808.     IRpcStubBuffer *This,
  2809.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2810.     PRPC_MESSAGE _pRpcMessage,
  2811.     DWORD *_pdwStubPhase);
  2812. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_AntiClogControl_Proxy( 
  2813.     IAMExtTransport * This,
  2814.     /* [in] */ long Enable);
  2815. void __RPC_STUB IAMExtTransport_put_AntiClogControl_Stub(
  2816.     IRpcStubBuffer *This,
  2817.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2818.     PRPC_MESSAGE _pRpcMessage,
  2819.     DWORD *_pdwStubPhase);
  2820. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetEditPropertySet_Proxy( 
  2821.     IAMExtTransport * This,
  2822.     /* [in] */ long EditID,
  2823.     /* [out] */ long *pState);
  2824. void __RPC_STUB IAMExtTransport_GetEditPropertySet_Stub(
  2825.     IRpcStubBuffer *This,
  2826.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2827.     PRPC_MESSAGE _pRpcMessage,
  2828.     DWORD *_pdwStubPhase);
  2829. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetEditPropertySet_Proxy( 
  2830.     IAMExtTransport * This,
  2831.     /* [out][in] */ long *pEditID,
  2832.     /* [in] */ long State);
  2833. void __RPC_STUB IAMExtTransport_SetEditPropertySet_Stub(
  2834.     IRpcStubBuffer *This,
  2835.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2836.     PRPC_MESSAGE _pRpcMessage,
  2837.     DWORD *_pdwStubPhase);
  2838. HRESULT STDMETHODCALLTYPE IAMExtTransport_GetEditProperty_Proxy( 
  2839.     IAMExtTransport * This,
  2840.     /* [in] */ long EditID,
  2841.     /* [in] */ long Param,
  2842.     /* [out] */ long *pValue);
  2843. void __RPC_STUB IAMExtTransport_GetEditProperty_Stub(
  2844.     IRpcStubBuffer *This,
  2845.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2846.     PRPC_MESSAGE _pRpcMessage,
  2847.     DWORD *_pdwStubPhase);
  2848. HRESULT STDMETHODCALLTYPE IAMExtTransport_SetEditProperty_Proxy( 
  2849.     IAMExtTransport * This,
  2850.     /* [in] */ long EditID,
  2851.     /* [in] */ long Param,
  2852.     /* [in] */ long Value);
  2853. void __RPC_STUB IAMExtTransport_SetEditProperty_Stub(
  2854.     IRpcStubBuffer *This,
  2855.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2856.     PRPC_MESSAGE _pRpcMessage,
  2857.     DWORD *_pdwStubPhase);
  2858. HRESULT STDMETHODCALLTYPE IAMExtTransport_get_EditStart_Proxy( 
  2859.     IAMExtTransport * This,
  2860.     /* [out] */ long *pValue);
  2861. void __RPC_STUB IAMExtTransport_get_EditStart_Stub(
  2862.     IRpcStubBuffer *This,
  2863.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2864.     PRPC_MESSAGE _pRpcMessage,
  2865.     DWORD *_pdwStubPhase);
  2866. HRESULT STDMETHODCALLTYPE IAMExtTransport_put_EditStart_Proxy( 
  2867.     IAMExtTransport * This,
  2868.     /* [in] */ long Value);
  2869. void __RPC_STUB IAMExtTransport_put_EditStart_Stub(
  2870.     IRpcStubBuffer *This,
  2871.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2872.     PRPC_MESSAGE _pRpcMessage,
  2873.     DWORD *_pdwStubPhase);
  2874. #endif  /* __IAMExtTransport_INTERFACE_DEFINED__ */
  2875. /* interface __MIDL_itf_strmif_0329 */
  2876. /* [local] */ 
  2877. typedef IAMExtTransport *PIAMEXTTRANSPORT;
  2878. #if 0
  2879. /* the following is what MIDL knows how to remote */
  2880. typedef struct tagTIMECODE
  2881.     {
  2882.     WORD wFrameRate;
  2883.     WORD wFrameFract;
  2884.     DWORD dwFrames;
  2885.     }  TIMECODE;
  2886. #else /* 0 */
  2887. #ifndef TIMECODE_DEFINED
  2888. #define TIMECODE_DEFINED
  2889. typedef union _timecode {
  2890.    struct {
  2891.  WORD   wFrameRate;
  2892.  WORD   wFrameFract;
  2893.  DWORD  dwFrames;
  2894.  };
  2895.    DWORDLONG  qw;
  2896.    } TIMECODE;
  2897. #endif /* TIMECODE_DEFINED */
  2898. #endif /* 0 */
  2899. typedef TIMECODE *PTIMECODE;
  2900. typedef struct tagTIMECODE_SAMPLE
  2901.     {
  2902.     LONGLONG qwTick;
  2903.     TIMECODE timecode;
  2904.     DWORD dwUser;
  2905.     DWORD dwFlags;
  2906.     }  TIMECODE_SAMPLE;
  2907. typedef TIMECODE_SAMPLE *PTIMECODE_SAMPLE;
  2908. extern RPC_IF_HANDLE __MIDL_itf_strmif_0329_v0_0_c_ifspec;
  2909. extern RPC_IF_HANDLE __MIDL_itf_strmif_0329_v0_0_s_ifspec;
  2910. #ifndef __IAMTimecodeReader_INTERFACE_DEFINED__
  2911. #define __IAMTimecodeReader_INTERFACE_DEFINED__
  2912. /* interface IAMTimecodeReader */
  2913. /* [unique][uuid][object] */ 
  2914. EXTERN_C const IID IID_IAMTimecodeReader;
  2915. #if defined(__cplusplus) && !defined(CINTERFACE)
  2916.     
  2917.     MIDL_INTERFACE("9B496CE1-811B-11cf-8C77-00AA006B6814")
  2918.     IAMTimecodeReader : public IUnknown
  2919.     {
  2920.     public:
  2921.         virtual HRESULT STDMETHODCALLTYPE GetTCRMode( 
  2922.             /* [in] */ long Param,
  2923.             /* [out] */ long *pValue) = 0;
  2924.         
  2925.         virtual HRESULT STDMETHODCALLTYPE SetTCRMode( 
  2926.             /* [in] */ long Param,
  2927.             /* [in] */ long Value) = 0;
  2928.         
  2929.         virtual HRESULT STDMETHODCALLTYPE put_VITCLine( 
  2930.             /* [in] */ long Line) = 0;
  2931.         
  2932.         virtual HRESULT STDMETHODCALLTYPE get_VITCLine( 
  2933.             /* [out] */ long *pLine) = 0;
  2934.         
  2935.         virtual HRESULT STDMETHODCALLTYPE GetTimecode( 
  2936.             /* [out] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;
  2937.         
  2938.     };
  2939.     
  2940. #else  /* C style interface */
  2941.     typedef struct IAMTimecodeReaderVtbl
  2942.     {
  2943.         BEGIN_INTERFACE
  2944.         
  2945.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2946.             IAMTimecodeReader * This,
  2947.             /* [in] */ REFIID riid,
  2948.             /* [iid_is][out] */ void **ppvObject);
  2949.         
  2950.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2951.             IAMTimecodeReader * This);
  2952.         
  2953.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2954.             IAMTimecodeReader * This);
  2955.         
  2956.         HRESULT ( STDMETHODCALLTYPE *GetTCRMode )( 
  2957.             IAMTimecodeReader * This,
  2958.             /* [in] */ long Param,
  2959.             /* [out] */ long *pValue);
  2960.         
  2961.         HRESULT ( STDMETHODCALLTYPE *SetTCRMode )( 
  2962.             IAMTimecodeReader * This,
  2963.             /* [in] */ long Param,
  2964.             /* [in] */ long Value);
  2965.         
  2966.         HRESULT ( STDMETHODCALLTYPE *put_VITCLine )( 
  2967.             IAMTimecodeReader * This,
  2968.             /* [in] */ long Line);
  2969.         
  2970.         HRESULT ( STDMETHODCALLTYPE *get_VITCLine )( 
  2971.             IAMTimecodeReader * This,
  2972.             /* [out] */ long *pLine);
  2973.         
  2974.         HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 
  2975.             IAMTimecodeReader * This,
  2976.             /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  2977.         
  2978.         END_INTERFACE
  2979.     } IAMTimecodeReaderVtbl;
  2980.     interface IAMTimecodeReader
  2981.     {
  2982.         CONST_VTBL struct IAMTimecodeReaderVtbl *lpVtbl;
  2983.     };
  2984.     
  2985. #ifdef COBJMACROS
  2986. #define IAMTimecodeReader_QueryInterface(This,riid,ppvObject)
  2987.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2988. #define IAMTimecodeReader_AddRef(This)
  2989.     (This)->lpVtbl -> AddRef(This)
  2990. #define IAMTimecodeReader_Release(This)
  2991.     (This)->lpVtbl -> Release(This)
  2992. #define IAMTimecodeReader_GetTCRMode(This,Param,pValue)
  2993.     (This)->lpVtbl -> GetTCRMode(This,Param,pValue)
  2994. #define IAMTimecodeReader_SetTCRMode(This,Param,Value)
  2995.     (This)->lpVtbl -> SetTCRMode(This,Param,Value)
  2996. #define IAMTimecodeReader_put_VITCLine(This,Line)
  2997.     (This)->lpVtbl -> put_VITCLine(This,Line)
  2998. #define IAMTimecodeReader_get_VITCLine(This,pLine)
  2999.     (This)->lpVtbl -> get_VITCLine(This,pLine)
  3000. #define IAMTimecodeReader_GetTimecode(This,pTimecodeSample)
  3001.     (This)->lpVtbl -> GetTimecode(This,pTimecodeSample)
  3002. #endif /* COBJMACROS */
  3003. #endif  /* C style interface */
  3004. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_GetTCRMode_Proxy( 
  3005.     IAMTimecodeReader * This,
  3006.     /* [in] */ long Param,
  3007.     /* [out] */ long *pValue);
  3008. void __RPC_STUB IAMTimecodeReader_GetTCRMode_Stub(
  3009.     IRpcStubBuffer *This,
  3010.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3011.     PRPC_MESSAGE _pRpcMessage,
  3012.     DWORD *_pdwStubPhase);
  3013. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_SetTCRMode_Proxy( 
  3014.     IAMTimecodeReader * This,
  3015.     /* [in] */ long Param,
  3016.     /* [in] */ long Value);
  3017. void __RPC_STUB IAMTimecodeReader_SetTCRMode_Stub(
  3018.     IRpcStubBuffer *This,
  3019.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3020.     PRPC_MESSAGE _pRpcMessage,
  3021.     DWORD *_pdwStubPhase);
  3022. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_put_VITCLine_Proxy( 
  3023.     IAMTimecodeReader * This,
  3024.     /* [in] */ long Line);
  3025. void __RPC_STUB IAMTimecodeReader_put_VITCLine_Stub(
  3026.     IRpcStubBuffer *This,
  3027.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3028.     PRPC_MESSAGE _pRpcMessage,
  3029.     DWORD *_pdwStubPhase);
  3030. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_get_VITCLine_Proxy( 
  3031.     IAMTimecodeReader * This,
  3032.     /* [out] */ long *pLine);
  3033. void __RPC_STUB IAMTimecodeReader_get_VITCLine_Stub(
  3034.     IRpcStubBuffer *This,
  3035.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3036.     PRPC_MESSAGE _pRpcMessage,
  3037.     DWORD *_pdwStubPhase);
  3038. HRESULT STDMETHODCALLTYPE IAMTimecodeReader_GetTimecode_Proxy( 
  3039.     IAMTimecodeReader * This,
  3040.     /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  3041. void __RPC_STUB IAMTimecodeReader_GetTimecode_Stub(
  3042.     IRpcStubBuffer *This,
  3043.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3044.     PRPC_MESSAGE _pRpcMessage,
  3045.     DWORD *_pdwStubPhase);
  3046. #endif  /* __IAMTimecodeReader_INTERFACE_DEFINED__ */
  3047. /* interface __MIDL_itf_strmif_0330 */
  3048. /* [local] */ 
  3049. typedef IAMTimecodeReader *PIAMTIMECODEREADER;
  3050. extern RPC_IF_HANDLE __MIDL_itf_strmif_0330_v0_0_c_ifspec;
  3051. extern RPC_IF_HANDLE __MIDL_itf_strmif_0330_v0_0_s_ifspec;
  3052. #ifndef __IAMTimecodeGenerator_INTERFACE_DEFINED__
  3053. #define __IAMTimecodeGenerator_INTERFACE_DEFINED__
  3054. /* interface IAMTimecodeGenerator */
  3055. /* [unique][uuid][object] */ 
  3056. EXTERN_C const IID IID_IAMTimecodeGenerator;
  3057. #if defined(__cplusplus) && !defined(CINTERFACE)
  3058.     
  3059.     MIDL_INTERFACE("9B496CE0-811B-11cf-8C77-00AA006B6814")
  3060.     IAMTimecodeGenerator : public IUnknown
  3061.     {
  3062.     public:
  3063.         virtual HRESULT STDMETHODCALLTYPE GetTCGMode( 
  3064.             /* [in] */ long Param,
  3065.             /* [out] */ long *pValue) = 0;
  3066.         
  3067.         virtual HRESULT STDMETHODCALLTYPE SetTCGMode( 
  3068.             /* [in] */ long Param,
  3069.             /* [in] */ long Value) = 0;
  3070.         
  3071.         virtual HRESULT STDMETHODCALLTYPE put_VITCLine( 
  3072.             /* [in] */ long Line) = 0;
  3073.         
  3074.         virtual HRESULT STDMETHODCALLTYPE get_VITCLine( 
  3075.             /* [out] */ long *pLine) = 0;
  3076.         
  3077.         virtual HRESULT STDMETHODCALLTYPE SetTimecode( 
  3078.             /* [in] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;
  3079.         
  3080.         virtual HRESULT STDMETHODCALLTYPE GetTimecode( 
  3081.             /* [out] */ PTIMECODE_SAMPLE pTimecodeSample) = 0;
  3082.         
  3083.     };
  3084.     
  3085. #else  /* C style interface */
  3086.     typedef struct IAMTimecodeGeneratorVtbl
  3087.     {
  3088.         BEGIN_INTERFACE
  3089.         
  3090.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3091.             IAMTimecodeGenerator * This,
  3092.             /* [in] */ REFIID riid,
  3093.             /* [iid_is][out] */ void **ppvObject);
  3094.         
  3095.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3096.             IAMTimecodeGenerator * This);
  3097.         
  3098.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3099.             IAMTimecodeGenerator * This);
  3100.         
  3101.         HRESULT ( STDMETHODCALLTYPE *GetTCGMode )( 
  3102.             IAMTimecodeGenerator * This,
  3103.             /* [in] */ long Param,
  3104.             /* [out] */ long *pValue);
  3105.         
  3106.         HRESULT ( STDMETHODCALLTYPE *SetTCGMode )( 
  3107.             IAMTimecodeGenerator * This,
  3108.             /* [in] */ long Param,
  3109.             /* [in] */ long Value);
  3110.         
  3111.         HRESULT ( STDMETHODCALLTYPE *put_VITCLine )( 
  3112.             IAMTimecodeGenerator * This,
  3113.             /* [in] */ long Line);
  3114.         
  3115.         HRESULT ( STDMETHODCALLTYPE *get_VITCLine )( 
  3116.             IAMTimecodeGenerator * This,
  3117.             /* [out] */ long *pLine);
  3118.         
  3119.         HRESULT ( STDMETHODCALLTYPE *SetTimecode )( 
  3120.             IAMTimecodeGenerator * This,
  3121.             /* [in] */ PTIMECODE_SAMPLE pTimecodeSample);
  3122.         
  3123.         HRESULT ( STDMETHODCALLTYPE *GetTimecode )( 
  3124.             IAMTimecodeGenerator * This,
  3125.             /* [out] */ PTIMECODE_SAMPLE pTimecodeSample);
  3126.         
  3127.         END_INTERFACE
  3128.     } IAMTimecodeGeneratorVtbl;
  3129.     interface IAMTimecodeGenerator
  3130.     {
  3131.         CONST_VTBL struct IAMTimecodeGeneratorVtbl *lpVtbl;
  3132.     };
  3133.     
  3134. #ifdef COBJMACROS
  3135. #define IAMTimecodeGenerator_QueryInterface(This,riid,ppvObject)
  3136.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3137. #define IAMTimecodeGenerator_AddRef(This)
  3138.     (This)->lpVtbl -> AddRef(This)
  3139. #define IAMTimecodeGenerator_Release(This)
  3140.     (This)->lpVtbl -> Release(This)
  3141. #define IAMTimecodeGenerator_GetTCGMode(This,Param,pValue)
  3142.     (This)->lpVtbl -> GetTCGMode(This,Param,pValue)
  3143. #define IAMTimecodeGenerator_SetTCGMode(This,Param,Value)
  3144.     (This)->lpVtbl -> SetTCGMode(This,Param,Value)
  3145. #define IAMTimecodeGenerator_put_VITCLine(This,Line)
  3146.     (This)->lpVtbl -> put_VITCLine(This,Line)
  3147. #define IAMTimecodeGenerator_get_VITCLine(This,pLine)
  3148.     (This)->lpVtbl -> get_VITCLine(This,pLine)
  3149. #define IAMTimecodeGenerator_SetTimecode(This,pTimecodeSample)
  3150.     (This)->lpVtbl -> SetTimecode(This,pTimecodeSample)
  3151. #define IAMTimecodeGenerator_GetTimecode(This,pTimecodeSample)
  3152.     (This)->lpVtbl -> GetTimecode(This,pTimecodeSample)
  3153. #endif /* COBJMACROS */
  3154. #endif  /* C style interface */
  3155. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_GetTCGMode_Proxy( 
  3156.     IAMTimecodeGenerator * This,
  3157.     /* [in] */ long Param,
  3158.     /* [out] */ long *pValue);
  3159. void __RPC_STUB IAMTimecodeGenerator_GetTCGMode_Stub(
  3160.     IRpcStubBuffer *This,
  3161.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3162.     PRPC_MESSAGE _pRpcMessage,
  3163.     DWORD *_pdwStubPhase);
  3164. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_SetTCGMode_Proxy( 
  3165.     IAMTimecodeGenerator * This,
  3166.     /* [in] */ long Param,
  3167.     /* [in] */ long Value);
  3168. void __RPC_STUB IAMTimecodeGenerator_SetTCGMode_Stub(
  3169.     IRpcStubBuffer *This,
  3170.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3171.     PRPC_MESSAGE _pRpcMessage,
  3172.     DWORD *_pdwStubPhase);
  3173. HRESULT STDMETHODCALLTYPE IAMTimecodeGenerator_put_VITCLine_Proxy( 
  3174.     IAMTimecodeGenerator * This,
  3175.     /* [in] */ long Line);