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

Delphi控件源码

开发平台:

Delphi

  1. #define IWMReaderAdvanced_GetStreamSelected(This,wStreamNum,pSelection)
  2.     (This)->lpVtbl -> GetStreamSelected(This,wStreamNum,pSelection)
  3. #define IWMReaderAdvanced_SetReceiveSelectionCallbacks(This,fGetCallbacks)
  4.     (This)->lpVtbl -> SetReceiveSelectionCallbacks(This,fGetCallbacks)
  5. #define IWMReaderAdvanced_GetReceiveSelectionCallbacks(This,pfGetCallbacks)
  6.     (This)->lpVtbl -> GetReceiveSelectionCallbacks(This,pfGetCallbacks)
  7. #define IWMReaderAdvanced_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples)
  8.     (This)->lpVtbl -> SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples)
  9. #define IWMReaderAdvanced_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples)
  10.     (This)->lpVtbl -> GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples)
  11. #define IWMReaderAdvanced_SetAllocateForOutput(This,dwOutputNum,fAllocate)
  12.     (This)->lpVtbl -> SetAllocateForOutput(This,dwOutputNum,fAllocate)
  13. #define IWMReaderAdvanced_GetAllocateForOutput(This,dwOutputNum,pfAllocate)
  14.     (This)->lpVtbl -> GetAllocateForOutput(This,dwOutputNum,pfAllocate)
  15. #define IWMReaderAdvanced_SetAllocateForStream(This,wStreamNum,fAllocate)
  16.     (This)->lpVtbl -> SetAllocateForStream(This,wStreamNum,fAllocate)
  17. #define IWMReaderAdvanced_GetAllocateForStream(This,dwSreamNum,pfAllocate)
  18.     (This)->lpVtbl -> GetAllocateForStream(This,dwSreamNum,pfAllocate)
  19. #define IWMReaderAdvanced_GetStatistics(This,pStatistics)
  20.     (This)->lpVtbl -> GetStatistics(This,pStatistics)
  21. #define IWMReaderAdvanced_SetClientInfo(This,pClientInfo)
  22.     (This)->lpVtbl -> SetClientInfo(This,pClientInfo)
  23. #define IWMReaderAdvanced_GetMaxOutputSampleSize(This,dwOutput,pcbMax)
  24.     (This)->lpVtbl -> GetMaxOutputSampleSize(This,dwOutput,pcbMax)
  25. #define IWMReaderAdvanced_GetMaxStreamSampleSize(This,wStream,pcbMax)
  26.     (This)->lpVtbl -> GetMaxStreamSampleSize(This,wStream,pcbMax)
  27. #define IWMReaderAdvanced_NotifyLateDelivery(This,cnsLateness)
  28.     (This)->lpVtbl -> NotifyLateDelivery(This,cnsLateness)
  29. #endif /* COBJMACROS */
  30. #endif  /* C style interface */
  31. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetUserProvidedClock_Proxy( 
  32.     IWMReaderAdvanced * This,
  33.     /* [in] */ BOOL fUserClock);
  34. void __RPC_STUB IWMReaderAdvanced_SetUserProvidedClock_Stub(
  35.     IRpcStubBuffer *This,
  36.     IRpcChannelBuffer *_pRpcChannelBuffer,
  37.     PRPC_MESSAGE _pRpcMessage,
  38.     DWORD *_pdwStubPhase);
  39. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetUserProvidedClock_Proxy( 
  40.     IWMReaderAdvanced * This,
  41.     /* [out] */ BOOL *pfUserClock);
  42. void __RPC_STUB IWMReaderAdvanced_GetUserProvidedClock_Stub(
  43.     IRpcStubBuffer *This,
  44.     IRpcChannelBuffer *_pRpcChannelBuffer,
  45.     PRPC_MESSAGE _pRpcMessage,
  46.     DWORD *_pdwStubPhase);
  47. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_DeliverTime_Proxy( 
  48.     IWMReaderAdvanced * This,
  49.     /* [in] */ QWORD cnsTime);
  50. void __RPC_STUB IWMReaderAdvanced_DeliverTime_Stub(
  51.     IRpcStubBuffer *This,
  52.     IRpcChannelBuffer *_pRpcChannelBuffer,
  53.     PRPC_MESSAGE _pRpcMessage,
  54.     DWORD *_pdwStubPhase);
  55. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetManualStreamSelection_Proxy( 
  56.     IWMReaderAdvanced * This,
  57.     /* [in] */ BOOL fSelection);
  58. void __RPC_STUB IWMReaderAdvanced_SetManualStreamSelection_Stub(
  59.     IRpcStubBuffer *This,
  60.     IRpcChannelBuffer *_pRpcChannelBuffer,
  61.     PRPC_MESSAGE _pRpcMessage,
  62.     DWORD *_pdwStubPhase);
  63. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetManualStreamSelection_Proxy( 
  64.     IWMReaderAdvanced * This,
  65.     /* [out] */ BOOL *pfSelection);
  66. void __RPC_STUB IWMReaderAdvanced_GetManualStreamSelection_Stub(
  67.     IRpcStubBuffer *This,
  68.     IRpcChannelBuffer *_pRpcChannelBuffer,
  69.     PRPC_MESSAGE _pRpcMessage,
  70.     DWORD *_pdwStubPhase);
  71. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetStreamsSelected_Proxy( 
  72.     IWMReaderAdvanced * This,
  73.     /* [in] */ WORD cStreamCount,
  74.     /* [in] */ WORD *pwStreamNumbers,
  75.     /* [in] */ WMT_STREAM_SELECTION *pSelections);
  76. void __RPC_STUB IWMReaderAdvanced_SetStreamsSelected_Stub(
  77.     IRpcStubBuffer *This,
  78.     IRpcChannelBuffer *_pRpcChannelBuffer,
  79.     PRPC_MESSAGE _pRpcMessage,
  80.     DWORD *_pdwStubPhase);
  81. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetStreamSelected_Proxy( 
  82.     IWMReaderAdvanced * This,
  83.     /* [in] */ WORD wStreamNum,
  84.     /* [out] */ WMT_STREAM_SELECTION *pSelection);
  85. void __RPC_STUB IWMReaderAdvanced_GetStreamSelected_Stub(
  86.     IRpcStubBuffer *This,
  87.     IRpcChannelBuffer *_pRpcChannelBuffer,
  88.     PRPC_MESSAGE _pRpcMessage,
  89.     DWORD *_pdwStubPhase);
  90. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetReceiveSelectionCallbacks_Proxy( 
  91.     IWMReaderAdvanced * This,
  92.     /* [in] */ BOOL fGetCallbacks);
  93. void __RPC_STUB IWMReaderAdvanced_SetReceiveSelectionCallbacks_Stub(
  94.     IRpcStubBuffer *This,
  95.     IRpcChannelBuffer *_pRpcChannelBuffer,
  96.     PRPC_MESSAGE _pRpcMessage,
  97.     DWORD *_pdwStubPhase);
  98. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetReceiveSelectionCallbacks_Proxy( 
  99.     IWMReaderAdvanced * This,
  100.     /* [out] */ BOOL *pfGetCallbacks);
  101. void __RPC_STUB IWMReaderAdvanced_GetReceiveSelectionCallbacks_Stub(
  102.     IRpcStubBuffer *This,
  103.     IRpcChannelBuffer *_pRpcChannelBuffer,
  104.     PRPC_MESSAGE _pRpcMessage,
  105.     DWORD *_pdwStubPhase);
  106. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetReceiveStreamSamples_Proxy( 
  107.     IWMReaderAdvanced * This,
  108.     /* [in] */ WORD wStreamNum,
  109.     /* [in] */ BOOL fReceiveStreamSamples);
  110. void __RPC_STUB IWMReaderAdvanced_SetReceiveStreamSamples_Stub(
  111.     IRpcStubBuffer *This,
  112.     IRpcChannelBuffer *_pRpcChannelBuffer,
  113.     PRPC_MESSAGE _pRpcMessage,
  114.     DWORD *_pdwStubPhase);
  115. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetReceiveStreamSamples_Proxy( 
  116.     IWMReaderAdvanced * This,
  117.     /* [in] */ WORD wStreamNum,
  118.     /* [out] */ BOOL *pfReceiveStreamSamples);
  119. void __RPC_STUB IWMReaderAdvanced_GetReceiveStreamSamples_Stub(
  120.     IRpcStubBuffer *This,
  121.     IRpcChannelBuffer *_pRpcChannelBuffer,
  122.     PRPC_MESSAGE _pRpcMessage,
  123.     DWORD *_pdwStubPhase);
  124. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetAllocateForOutput_Proxy( 
  125.     IWMReaderAdvanced * This,
  126.     /* [in] */ DWORD dwOutputNum,
  127.     /* [in] */ BOOL fAllocate);
  128. void __RPC_STUB IWMReaderAdvanced_SetAllocateForOutput_Stub(
  129.     IRpcStubBuffer *This,
  130.     IRpcChannelBuffer *_pRpcChannelBuffer,
  131.     PRPC_MESSAGE _pRpcMessage,
  132.     DWORD *_pdwStubPhase);
  133. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetAllocateForOutput_Proxy( 
  134.     IWMReaderAdvanced * This,
  135.     /* [in] */ DWORD dwOutputNum,
  136.     /* [out] */ BOOL *pfAllocate);
  137. void __RPC_STUB IWMReaderAdvanced_GetAllocateForOutput_Stub(
  138.     IRpcStubBuffer *This,
  139.     IRpcChannelBuffer *_pRpcChannelBuffer,
  140.     PRPC_MESSAGE _pRpcMessage,
  141.     DWORD *_pdwStubPhase);
  142. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetAllocateForStream_Proxy( 
  143.     IWMReaderAdvanced * This,
  144.     /* [in] */ WORD wStreamNum,
  145.     /* [in] */ BOOL fAllocate);
  146. void __RPC_STUB IWMReaderAdvanced_SetAllocateForStream_Stub(
  147.     IRpcStubBuffer *This,
  148.     IRpcChannelBuffer *_pRpcChannelBuffer,
  149.     PRPC_MESSAGE _pRpcMessage,
  150.     DWORD *_pdwStubPhase);
  151. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetAllocateForStream_Proxy( 
  152.     IWMReaderAdvanced * This,
  153.     /* [in] */ WORD dwSreamNum,
  154.     /* [out] */ BOOL *pfAllocate);
  155. void __RPC_STUB IWMReaderAdvanced_GetAllocateForStream_Stub(
  156.     IRpcStubBuffer *This,
  157.     IRpcChannelBuffer *_pRpcChannelBuffer,
  158.     PRPC_MESSAGE _pRpcMessage,
  159.     DWORD *_pdwStubPhase);
  160. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetStatistics_Proxy( 
  161.     IWMReaderAdvanced * This,
  162.     /* [out][in] */ WM_READER_STATISTICS *pStatistics);
  163. void __RPC_STUB IWMReaderAdvanced_GetStatistics_Stub(
  164.     IRpcStubBuffer *This,
  165.     IRpcChannelBuffer *_pRpcChannelBuffer,
  166.     PRPC_MESSAGE _pRpcMessage,
  167.     DWORD *_pdwStubPhase);
  168. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_SetClientInfo_Proxy( 
  169.     IWMReaderAdvanced * This,
  170.     /* [in] */ WM_READER_CLIENTINFO *pClientInfo);
  171. void __RPC_STUB IWMReaderAdvanced_SetClientInfo_Stub(
  172.     IRpcStubBuffer *This,
  173.     IRpcChannelBuffer *_pRpcChannelBuffer,
  174.     PRPC_MESSAGE _pRpcMessage,
  175.     DWORD *_pdwStubPhase);
  176. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetMaxOutputSampleSize_Proxy( 
  177.     IWMReaderAdvanced * This,
  178.     /* [in] */ DWORD dwOutput,
  179.     /* [out] */ DWORD *pcbMax);
  180. void __RPC_STUB IWMReaderAdvanced_GetMaxOutputSampleSize_Stub(
  181.     IRpcStubBuffer *This,
  182.     IRpcChannelBuffer *_pRpcChannelBuffer,
  183.     PRPC_MESSAGE _pRpcMessage,
  184.     DWORD *_pdwStubPhase);
  185. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_GetMaxStreamSampleSize_Proxy( 
  186.     IWMReaderAdvanced * This,
  187.     /* [in] */ WORD wStream,
  188.     /* [out] */ DWORD *pcbMax);
  189. void __RPC_STUB IWMReaderAdvanced_GetMaxStreamSampleSize_Stub(
  190.     IRpcStubBuffer *This,
  191.     IRpcChannelBuffer *_pRpcChannelBuffer,
  192.     PRPC_MESSAGE _pRpcMessage,
  193.     DWORD *_pdwStubPhase);
  194. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced_NotifyLateDelivery_Proxy( 
  195.     IWMReaderAdvanced * This,
  196.     QWORD cnsLateness);
  197. void __RPC_STUB IWMReaderAdvanced_NotifyLateDelivery_Stub(
  198.     IRpcStubBuffer *This,
  199.     IRpcChannelBuffer *_pRpcChannelBuffer,
  200.     PRPC_MESSAGE _pRpcMessage,
  201.     DWORD *_pdwStubPhase);
  202. #endif  /* __IWMReaderAdvanced_INTERFACE_DEFINED__ */
  203. #ifndef __IWMReaderAdvanced2_INTERFACE_DEFINED__
  204. #define __IWMReaderAdvanced2_INTERFACE_DEFINED__
  205. /* interface IWMReaderAdvanced2 */
  206. /* [local][unique][helpstring][uuid][object] */ 
  207. EXTERN_C const IID IID_IWMReaderAdvanced2;
  208. #if defined(__cplusplus) && !defined(CINTERFACE)
  209.     
  210.     MIDL_INTERFACE("ae14a945-b90c-4d0d-9127-80d665f7d73e")
  211.     IWMReaderAdvanced2 : public IWMReaderAdvanced
  212.     {
  213.     public:
  214.         virtual HRESULT STDMETHODCALLTYPE SetPlayMode( 
  215.             /* [in] */ WMT_PLAY_MODE Mode) = 0;
  216.         
  217.         virtual HRESULT STDMETHODCALLTYPE GetPlayMode( 
  218.             /* [out] */ WMT_PLAY_MODE *pMode) = 0;
  219.         
  220.         virtual HRESULT STDMETHODCALLTYPE GetBufferProgress( 
  221.             /* [out] */ DWORD *pdwPercent,
  222.             /* [out] */ QWORD *pcnsBuffering) = 0;
  223.         
  224.         virtual HRESULT STDMETHODCALLTYPE GetDownloadProgress( 
  225.             /* [out] */ DWORD *pdwPercent,
  226.             /* [out] */ QWORD *pqwBytesDownloaded,
  227.             /* [out] */ QWORD *pcnsDownload) = 0;
  228.         
  229.         virtual HRESULT STDMETHODCALLTYPE GetSaveAsProgress( 
  230.             /* [out] */ DWORD *pdwPercent) = 0;
  231.         
  232.         virtual HRESULT STDMETHODCALLTYPE SaveFileAs( 
  233.             /* [in] */ const WCHAR *pwszFilename) = 0;
  234.         
  235.         virtual HRESULT STDMETHODCALLTYPE GetProtocolName( 
  236.             /* [size_is][out] */ WCHAR *pwszProtocol,
  237.             /* [out][in] */ DWORD *pcchProtocol) = 0;
  238.         
  239.         virtual HRESULT STDMETHODCALLTYPE StartAtMarker( 
  240.             /* [in] */ WORD wMarkerIndex,
  241.             /* [in] */ QWORD cnsDuration,
  242.             /* [in] */ float fRate,
  243.             /* [in] */ void *pvContext) = 0;
  244.         
  245.         virtual HRESULT STDMETHODCALLTYPE GetOutputSetting( 
  246.             /* [in] */ DWORD dwOutputNum,
  247.             /* [in] */ LPCWSTR pszName,
  248.             /* [out] */ WMT_ATTR_DATATYPE *pType,
  249.             /* [size_is][out] */ BYTE *pValue,
  250.             /* [out][in] */ WORD *pcbLength) = 0;
  251.         
  252.         virtual HRESULT STDMETHODCALLTYPE SetOutputSetting( 
  253.             /* [in] */ DWORD dwOutputNum,
  254.             /* [in] */ LPCWSTR pszName,
  255.             /* [in] */ WMT_ATTR_DATATYPE Type,
  256.             /* [size_is][in] */ const BYTE *pValue,
  257.             /* [in] */ WORD cbLength) = 0;
  258.         
  259.         virtual HRESULT STDMETHODCALLTYPE Preroll( 
  260.             /* [in] */ QWORD cnsStart,
  261.             /* [in] */ QWORD cnsDuration,
  262.             /* [in] */ float fRate) = 0;
  263.         
  264.         virtual HRESULT STDMETHODCALLTYPE SetLogClientID( 
  265.             /* [in] */ BOOL fLogClientID) = 0;
  266.         
  267.         virtual HRESULT STDMETHODCALLTYPE GetLogClientID( 
  268.             /* [out] */ BOOL *pfLogClientID) = 0;
  269.         
  270.         virtual HRESULT STDMETHODCALLTYPE StopBuffering( void) = 0;
  271.         
  272.         virtual HRESULT STDMETHODCALLTYPE OpenStream( 
  273.             /* [in] */ IStream *pStream,
  274.             /* [in] */ IWMReaderCallback *pCallback,
  275.             /* [in] */ void *pvContext) = 0;
  276.         
  277.     };
  278.     
  279. #else  /* C style interface */
  280.     typedef struct IWMReaderAdvanced2Vtbl
  281.     {
  282.         BEGIN_INTERFACE
  283.         
  284.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  285.             IWMReaderAdvanced2 * This,
  286.             /* [in] */ REFIID riid,
  287.             /* [iid_is][out] */ void **ppvObject);
  288.         
  289.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  290.             IWMReaderAdvanced2 * This);
  291.         
  292.         ULONG ( STDMETHODCALLTYPE *Release )( 
  293.             IWMReaderAdvanced2 * This);
  294.         
  295.         HRESULT ( STDMETHODCALLTYPE *SetUserProvidedClock )( 
  296.             IWMReaderAdvanced2 * This,
  297.             /* [in] */ BOOL fUserClock);
  298.         
  299.         HRESULT ( STDMETHODCALLTYPE *GetUserProvidedClock )( 
  300.             IWMReaderAdvanced2 * This,
  301.             /* [out] */ BOOL *pfUserClock);
  302.         
  303.         HRESULT ( STDMETHODCALLTYPE *DeliverTime )( 
  304.             IWMReaderAdvanced2 * This,
  305.             /* [in] */ QWORD cnsTime);
  306.         
  307.         HRESULT ( STDMETHODCALLTYPE *SetManualStreamSelection )( 
  308.             IWMReaderAdvanced2 * This,
  309.             /* [in] */ BOOL fSelection);
  310.         
  311.         HRESULT ( STDMETHODCALLTYPE *GetManualStreamSelection )( 
  312.             IWMReaderAdvanced2 * This,
  313.             /* [out] */ BOOL *pfSelection);
  314.         
  315.         HRESULT ( STDMETHODCALLTYPE *SetStreamsSelected )( 
  316.             IWMReaderAdvanced2 * This,
  317.             /* [in] */ WORD cStreamCount,
  318.             /* [in] */ WORD *pwStreamNumbers,
  319.             /* [in] */ WMT_STREAM_SELECTION *pSelections);
  320.         
  321.         HRESULT ( STDMETHODCALLTYPE *GetStreamSelected )( 
  322.             IWMReaderAdvanced2 * This,
  323.             /* [in] */ WORD wStreamNum,
  324.             /* [out] */ WMT_STREAM_SELECTION *pSelection);
  325.         
  326.         HRESULT ( STDMETHODCALLTYPE *SetReceiveSelectionCallbacks )( 
  327.             IWMReaderAdvanced2 * This,
  328.             /* [in] */ BOOL fGetCallbacks);
  329.         
  330.         HRESULT ( STDMETHODCALLTYPE *GetReceiveSelectionCallbacks )( 
  331.             IWMReaderAdvanced2 * This,
  332.             /* [out] */ BOOL *pfGetCallbacks);
  333.         
  334.         HRESULT ( STDMETHODCALLTYPE *SetReceiveStreamSamples )( 
  335.             IWMReaderAdvanced2 * This,
  336.             /* [in] */ WORD wStreamNum,
  337.             /* [in] */ BOOL fReceiveStreamSamples);
  338.         
  339.         HRESULT ( STDMETHODCALLTYPE *GetReceiveStreamSamples )( 
  340.             IWMReaderAdvanced2 * This,
  341.             /* [in] */ WORD wStreamNum,
  342.             /* [out] */ BOOL *pfReceiveStreamSamples);
  343.         
  344.         HRESULT ( STDMETHODCALLTYPE *SetAllocateForOutput )( 
  345.             IWMReaderAdvanced2 * This,
  346.             /* [in] */ DWORD dwOutputNum,
  347.             /* [in] */ BOOL fAllocate);
  348.         
  349.         HRESULT ( STDMETHODCALLTYPE *GetAllocateForOutput )( 
  350.             IWMReaderAdvanced2 * This,
  351.             /* [in] */ DWORD dwOutputNum,
  352.             /* [out] */ BOOL *pfAllocate);
  353.         
  354.         HRESULT ( STDMETHODCALLTYPE *SetAllocateForStream )( 
  355.             IWMReaderAdvanced2 * This,
  356.             /* [in] */ WORD wStreamNum,
  357.             /* [in] */ BOOL fAllocate);
  358.         
  359.         HRESULT ( STDMETHODCALLTYPE *GetAllocateForStream )( 
  360.             IWMReaderAdvanced2 * This,
  361.             /* [in] */ WORD dwSreamNum,
  362.             /* [out] */ BOOL *pfAllocate);
  363.         
  364.         HRESULT ( STDMETHODCALLTYPE *GetStatistics )( 
  365.             IWMReaderAdvanced2 * This,
  366.             /* [out][in] */ WM_READER_STATISTICS *pStatistics);
  367.         
  368.         HRESULT ( STDMETHODCALLTYPE *SetClientInfo )( 
  369.             IWMReaderAdvanced2 * This,
  370.             /* [in] */ WM_READER_CLIENTINFO *pClientInfo);
  371.         
  372.         HRESULT ( STDMETHODCALLTYPE *GetMaxOutputSampleSize )( 
  373.             IWMReaderAdvanced2 * This,
  374.             /* [in] */ DWORD dwOutput,
  375.             /* [out] */ DWORD *pcbMax);
  376.         
  377.         HRESULT ( STDMETHODCALLTYPE *GetMaxStreamSampleSize )( 
  378.             IWMReaderAdvanced2 * This,
  379.             /* [in] */ WORD wStream,
  380.             /* [out] */ DWORD *pcbMax);
  381.         
  382.         HRESULT ( STDMETHODCALLTYPE *NotifyLateDelivery )( 
  383.             IWMReaderAdvanced2 * This,
  384.             QWORD cnsLateness);
  385.         
  386.         HRESULT ( STDMETHODCALLTYPE *SetPlayMode )( 
  387.             IWMReaderAdvanced2 * This,
  388.             /* [in] */ WMT_PLAY_MODE Mode);
  389.         
  390.         HRESULT ( STDMETHODCALLTYPE *GetPlayMode )( 
  391.             IWMReaderAdvanced2 * This,
  392.             /* [out] */ WMT_PLAY_MODE *pMode);
  393.         
  394.         HRESULT ( STDMETHODCALLTYPE *GetBufferProgress )( 
  395.             IWMReaderAdvanced2 * This,
  396.             /* [out] */ DWORD *pdwPercent,
  397.             /* [out] */ QWORD *pcnsBuffering);
  398.         
  399.         HRESULT ( STDMETHODCALLTYPE *GetDownloadProgress )( 
  400.             IWMReaderAdvanced2 * This,
  401.             /* [out] */ DWORD *pdwPercent,
  402.             /* [out] */ QWORD *pqwBytesDownloaded,
  403.             /* [out] */ QWORD *pcnsDownload);
  404.         
  405.         HRESULT ( STDMETHODCALLTYPE *GetSaveAsProgress )( 
  406.             IWMReaderAdvanced2 * This,
  407.             /* [out] */ DWORD *pdwPercent);
  408.         
  409.         HRESULT ( STDMETHODCALLTYPE *SaveFileAs )( 
  410.             IWMReaderAdvanced2 * This,
  411.             /* [in] */ const WCHAR *pwszFilename);
  412.         
  413.         HRESULT ( STDMETHODCALLTYPE *GetProtocolName )( 
  414.             IWMReaderAdvanced2 * This,
  415.             /* [size_is][out] */ WCHAR *pwszProtocol,
  416.             /* [out][in] */ DWORD *pcchProtocol);
  417.         
  418.         HRESULT ( STDMETHODCALLTYPE *StartAtMarker )( 
  419.             IWMReaderAdvanced2 * This,
  420.             /* [in] */ WORD wMarkerIndex,
  421.             /* [in] */ QWORD cnsDuration,
  422.             /* [in] */ float fRate,
  423.             /* [in] */ void *pvContext);
  424.         
  425.         HRESULT ( STDMETHODCALLTYPE *GetOutputSetting )( 
  426.             IWMReaderAdvanced2 * This,
  427.             /* [in] */ DWORD dwOutputNum,
  428.             /* [in] */ LPCWSTR pszName,
  429.             /* [out] */ WMT_ATTR_DATATYPE *pType,
  430.             /* [size_is][out] */ BYTE *pValue,
  431.             /* [out][in] */ WORD *pcbLength);
  432.         
  433.         HRESULT ( STDMETHODCALLTYPE *SetOutputSetting )( 
  434.             IWMReaderAdvanced2 * This,
  435.             /* [in] */ DWORD dwOutputNum,
  436.             /* [in] */ LPCWSTR pszName,
  437.             /* [in] */ WMT_ATTR_DATATYPE Type,
  438.             /* [size_is][in] */ const BYTE *pValue,
  439.             /* [in] */ WORD cbLength);
  440.         
  441.         HRESULT ( STDMETHODCALLTYPE *Preroll )( 
  442.             IWMReaderAdvanced2 * This,
  443.             /* [in] */ QWORD cnsStart,
  444.             /* [in] */ QWORD cnsDuration,
  445.             /* [in] */ float fRate);
  446.         
  447.         HRESULT ( STDMETHODCALLTYPE *SetLogClientID )( 
  448.             IWMReaderAdvanced2 * This,
  449.             /* [in] */ BOOL fLogClientID);
  450.         
  451.         HRESULT ( STDMETHODCALLTYPE *GetLogClientID )( 
  452.             IWMReaderAdvanced2 * This,
  453.             /* [out] */ BOOL *pfLogClientID);
  454.         
  455.         HRESULT ( STDMETHODCALLTYPE *StopBuffering )( 
  456.             IWMReaderAdvanced2 * This);
  457.         
  458.         HRESULT ( STDMETHODCALLTYPE *OpenStream )( 
  459.             IWMReaderAdvanced2 * This,
  460.             /* [in] */ IStream *pStream,
  461.             /* [in] */ IWMReaderCallback *pCallback,
  462.             /* [in] */ void *pvContext);
  463.         
  464.         END_INTERFACE
  465.     } IWMReaderAdvanced2Vtbl;
  466.     interface IWMReaderAdvanced2
  467.     {
  468.         CONST_VTBL struct IWMReaderAdvanced2Vtbl *lpVtbl;
  469.     };
  470.     
  471. #ifdef COBJMACROS
  472. #define IWMReaderAdvanced2_QueryInterface(This,riid,ppvObject)
  473.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  474. #define IWMReaderAdvanced2_AddRef(This)
  475.     (This)->lpVtbl -> AddRef(This)
  476. #define IWMReaderAdvanced2_Release(This)
  477.     (This)->lpVtbl -> Release(This)
  478. #define IWMReaderAdvanced2_SetUserProvidedClock(This,fUserClock)
  479.     (This)->lpVtbl -> SetUserProvidedClock(This,fUserClock)
  480. #define IWMReaderAdvanced2_GetUserProvidedClock(This,pfUserClock)
  481.     (This)->lpVtbl -> GetUserProvidedClock(This,pfUserClock)
  482. #define IWMReaderAdvanced2_DeliverTime(This,cnsTime)
  483.     (This)->lpVtbl -> DeliverTime(This,cnsTime)
  484. #define IWMReaderAdvanced2_SetManualStreamSelection(This,fSelection)
  485.     (This)->lpVtbl -> SetManualStreamSelection(This,fSelection)
  486. #define IWMReaderAdvanced2_GetManualStreamSelection(This,pfSelection)
  487.     (This)->lpVtbl -> GetManualStreamSelection(This,pfSelection)
  488. #define IWMReaderAdvanced2_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections)
  489.     (This)->lpVtbl -> SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections)
  490. #define IWMReaderAdvanced2_GetStreamSelected(This,wStreamNum,pSelection)
  491.     (This)->lpVtbl -> GetStreamSelected(This,wStreamNum,pSelection)
  492. #define IWMReaderAdvanced2_SetReceiveSelectionCallbacks(This,fGetCallbacks)
  493.     (This)->lpVtbl -> SetReceiveSelectionCallbacks(This,fGetCallbacks)
  494. #define IWMReaderAdvanced2_GetReceiveSelectionCallbacks(This,pfGetCallbacks)
  495.     (This)->lpVtbl -> GetReceiveSelectionCallbacks(This,pfGetCallbacks)
  496. #define IWMReaderAdvanced2_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples)
  497.     (This)->lpVtbl -> SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples)
  498. #define IWMReaderAdvanced2_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples)
  499.     (This)->lpVtbl -> GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples)
  500. #define IWMReaderAdvanced2_SetAllocateForOutput(This,dwOutputNum,fAllocate)
  501.     (This)->lpVtbl -> SetAllocateForOutput(This,dwOutputNum,fAllocate)
  502. #define IWMReaderAdvanced2_GetAllocateForOutput(This,dwOutputNum,pfAllocate)
  503.     (This)->lpVtbl -> GetAllocateForOutput(This,dwOutputNum,pfAllocate)
  504. #define IWMReaderAdvanced2_SetAllocateForStream(This,wStreamNum,fAllocate)
  505.     (This)->lpVtbl -> SetAllocateForStream(This,wStreamNum,fAllocate)
  506. #define IWMReaderAdvanced2_GetAllocateForStream(This,dwSreamNum,pfAllocate)
  507.     (This)->lpVtbl -> GetAllocateForStream(This,dwSreamNum,pfAllocate)
  508. #define IWMReaderAdvanced2_GetStatistics(This,pStatistics)
  509.     (This)->lpVtbl -> GetStatistics(This,pStatistics)
  510. #define IWMReaderAdvanced2_SetClientInfo(This,pClientInfo)
  511.     (This)->lpVtbl -> SetClientInfo(This,pClientInfo)
  512. #define IWMReaderAdvanced2_GetMaxOutputSampleSize(This,dwOutput,pcbMax)
  513.     (This)->lpVtbl -> GetMaxOutputSampleSize(This,dwOutput,pcbMax)
  514. #define IWMReaderAdvanced2_GetMaxStreamSampleSize(This,wStream,pcbMax)
  515.     (This)->lpVtbl -> GetMaxStreamSampleSize(This,wStream,pcbMax)
  516. #define IWMReaderAdvanced2_NotifyLateDelivery(This,cnsLateness)
  517.     (This)->lpVtbl -> NotifyLateDelivery(This,cnsLateness)
  518. #define IWMReaderAdvanced2_SetPlayMode(This,Mode)
  519.     (This)->lpVtbl -> SetPlayMode(This,Mode)
  520. #define IWMReaderAdvanced2_GetPlayMode(This,pMode)
  521.     (This)->lpVtbl -> GetPlayMode(This,pMode)
  522. #define IWMReaderAdvanced2_GetBufferProgress(This,pdwPercent,pcnsBuffering)
  523.     (This)->lpVtbl -> GetBufferProgress(This,pdwPercent,pcnsBuffering)
  524. #define IWMReaderAdvanced2_GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload)
  525.     (This)->lpVtbl -> GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload)
  526. #define IWMReaderAdvanced2_GetSaveAsProgress(This,pdwPercent)
  527.     (This)->lpVtbl -> GetSaveAsProgress(This,pdwPercent)
  528. #define IWMReaderAdvanced2_SaveFileAs(This,pwszFilename)
  529.     (This)->lpVtbl -> SaveFileAs(This,pwszFilename)
  530. #define IWMReaderAdvanced2_GetProtocolName(This,pwszProtocol,pcchProtocol)
  531.     (This)->lpVtbl -> GetProtocolName(This,pwszProtocol,pcchProtocol)
  532. #define IWMReaderAdvanced2_StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext)
  533.     (This)->lpVtbl -> StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext)
  534. #define IWMReaderAdvanced2_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength)
  535.     (This)->lpVtbl -> GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength)
  536. #define IWMReaderAdvanced2_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength)
  537.     (This)->lpVtbl -> SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength)
  538. #define IWMReaderAdvanced2_Preroll(This,cnsStart,cnsDuration,fRate)
  539.     (This)->lpVtbl -> Preroll(This,cnsStart,cnsDuration,fRate)
  540. #define IWMReaderAdvanced2_SetLogClientID(This,fLogClientID)
  541.     (This)->lpVtbl -> SetLogClientID(This,fLogClientID)
  542. #define IWMReaderAdvanced2_GetLogClientID(This,pfLogClientID)
  543.     (This)->lpVtbl -> GetLogClientID(This,pfLogClientID)
  544. #define IWMReaderAdvanced2_StopBuffering(This)
  545.     (This)->lpVtbl -> StopBuffering(This)
  546. #define IWMReaderAdvanced2_OpenStream(This,pStream,pCallback,pvContext)
  547.     (This)->lpVtbl -> OpenStream(This,pStream,pCallback,pvContext)
  548. #endif /* COBJMACROS */
  549. #endif  /* C style interface */
  550. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_SetPlayMode_Proxy( 
  551.     IWMReaderAdvanced2 * This,
  552.     /* [in] */ WMT_PLAY_MODE Mode);
  553. void __RPC_STUB IWMReaderAdvanced2_SetPlayMode_Stub(
  554.     IRpcStubBuffer *This,
  555.     IRpcChannelBuffer *_pRpcChannelBuffer,
  556.     PRPC_MESSAGE _pRpcMessage,
  557.     DWORD *_pdwStubPhase);
  558. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetPlayMode_Proxy( 
  559.     IWMReaderAdvanced2 * This,
  560.     /* [out] */ WMT_PLAY_MODE *pMode);
  561. void __RPC_STUB IWMReaderAdvanced2_GetPlayMode_Stub(
  562.     IRpcStubBuffer *This,
  563.     IRpcChannelBuffer *_pRpcChannelBuffer,
  564.     PRPC_MESSAGE _pRpcMessage,
  565.     DWORD *_pdwStubPhase);
  566. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetBufferProgress_Proxy( 
  567.     IWMReaderAdvanced2 * This,
  568.     /* [out] */ DWORD *pdwPercent,
  569.     /* [out] */ QWORD *pcnsBuffering);
  570. void __RPC_STUB IWMReaderAdvanced2_GetBufferProgress_Stub(
  571.     IRpcStubBuffer *This,
  572.     IRpcChannelBuffer *_pRpcChannelBuffer,
  573.     PRPC_MESSAGE _pRpcMessage,
  574.     DWORD *_pdwStubPhase);
  575. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetDownloadProgress_Proxy( 
  576.     IWMReaderAdvanced2 * This,
  577.     /* [out] */ DWORD *pdwPercent,
  578.     /* [out] */ QWORD *pqwBytesDownloaded,
  579.     /* [out] */ QWORD *pcnsDownload);
  580. void __RPC_STUB IWMReaderAdvanced2_GetDownloadProgress_Stub(
  581.     IRpcStubBuffer *This,
  582.     IRpcChannelBuffer *_pRpcChannelBuffer,
  583.     PRPC_MESSAGE _pRpcMessage,
  584.     DWORD *_pdwStubPhase);
  585. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetSaveAsProgress_Proxy( 
  586.     IWMReaderAdvanced2 * This,
  587.     /* [out] */ DWORD *pdwPercent);
  588. void __RPC_STUB IWMReaderAdvanced2_GetSaveAsProgress_Stub(
  589.     IRpcStubBuffer *This,
  590.     IRpcChannelBuffer *_pRpcChannelBuffer,
  591.     PRPC_MESSAGE _pRpcMessage,
  592.     DWORD *_pdwStubPhase);
  593. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_SaveFileAs_Proxy( 
  594.     IWMReaderAdvanced2 * This,
  595.     /* [in] */ const WCHAR *pwszFilename);
  596. void __RPC_STUB IWMReaderAdvanced2_SaveFileAs_Stub(
  597.     IRpcStubBuffer *This,
  598.     IRpcChannelBuffer *_pRpcChannelBuffer,
  599.     PRPC_MESSAGE _pRpcMessage,
  600.     DWORD *_pdwStubPhase);
  601. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetProtocolName_Proxy( 
  602.     IWMReaderAdvanced2 * This,
  603.     /* [size_is][out] */ WCHAR *pwszProtocol,
  604.     /* [out][in] */ DWORD *pcchProtocol);
  605. void __RPC_STUB IWMReaderAdvanced2_GetProtocolName_Stub(
  606.     IRpcStubBuffer *This,
  607.     IRpcChannelBuffer *_pRpcChannelBuffer,
  608.     PRPC_MESSAGE _pRpcMessage,
  609.     DWORD *_pdwStubPhase);
  610. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_StartAtMarker_Proxy( 
  611.     IWMReaderAdvanced2 * This,
  612.     /* [in] */ WORD wMarkerIndex,
  613.     /* [in] */ QWORD cnsDuration,
  614.     /* [in] */ float fRate,
  615.     /* [in] */ void *pvContext);
  616. void __RPC_STUB IWMReaderAdvanced2_StartAtMarker_Stub(
  617.     IRpcStubBuffer *This,
  618.     IRpcChannelBuffer *_pRpcChannelBuffer,
  619.     PRPC_MESSAGE _pRpcMessage,
  620.     DWORD *_pdwStubPhase);
  621. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetOutputSetting_Proxy( 
  622.     IWMReaderAdvanced2 * This,
  623.     /* [in] */ DWORD dwOutputNum,
  624.     /* [in] */ LPCWSTR pszName,
  625.     /* [out] */ WMT_ATTR_DATATYPE *pType,
  626.     /* [size_is][out] */ BYTE *pValue,
  627.     /* [out][in] */ WORD *pcbLength);
  628. void __RPC_STUB IWMReaderAdvanced2_GetOutputSetting_Stub(
  629.     IRpcStubBuffer *This,
  630.     IRpcChannelBuffer *_pRpcChannelBuffer,
  631.     PRPC_MESSAGE _pRpcMessage,
  632.     DWORD *_pdwStubPhase);
  633. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_SetOutputSetting_Proxy( 
  634.     IWMReaderAdvanced2 * This,
  635.     /* [in] */ DWORD dwOutputNum,
  636.     /* [in] */ LPCWSTR pszName,
  637.     /* [in] */ WMT_ATTR_DATATYPE Type,
  638.     /* [size_is][in] */ const BYTE *pValue,
  639.     /* [in] */ WORD cbLength);
  640. void __RPC_STUB IWMReaderAdvanced2_SetOutputSetting_Stub(
  641.     IRpcStubBuffer *This,
  642.     IRpcChannelBuffer *_pRpcChannelBuffer,
  643.     PRPC_MESSAGE _pRpcMessage,
  644.     DWORD *_pdwStubPhase);
  645. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_Preroll_Proxy( 
  646.     IWMReaderAdvanced2 * This,
  647.     /* [in] */ QWORD cnsStart,
  648.     /* [in] */ QWORD cnsDuration,
  649.     /* [in] */ float fRate);
  650. void __RPC_STUB IWMReaderAdvanced2_Preroll_Stub(
  651.     IRpcStubBuffer *This,
  652.     IRpcChannelBuffer *_pRpcChannelBuffer,
  653.     PRPC_MESSAGE _pRpcMessage,
  654.     DWORD *_pdwStubPhase);
  655. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_SetLogClientID_Proxy( 
  656.     IWMReaderAdvanced2 * This,
  657.     /* [in] */ BOOL fLogClientID);
  658. void __RPC_STUB IWMReaderAdvanced2_SetLogClientID_Stub(
  659.     IRpcStubBuffer *This,
  660.     IRpcChannelBuffer *_pRpcChannelBuffer,
  661.     PRPC_MESSAGE _pRpcMessage,
  662.     DWORD *_pdwStubPhase);
  663. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_GetLogClientID_Proxy( 
  664.     IWMReaderAdvanced2 * This,
  665.     /* [out] */ BOOL *pfLogClientID);
  666. void __RPC_STUB IWMReaderAdvanced2_GetLogClientID_Stub(
  667.     IRpcStubBuffer *This,
  668.     IRpcChannelBuffer *_pRpcChannelBuffer,
  669.     PRPC_MESSAGE _pRpcMessage,
  670.     DWORD *_pdwStubPhase);
  671. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_StopBuffering_Proxy( 
  672.     IWMReaderAdvanced2 * This);
  673. void __RPC_STUB IWMReaderAdvanced2_StopBuffering_Stub(
  674.     IRpcStubBuffer *This,
  675.     IRpcChannelBuffer *_pRpcChannelBuffer,
  676.     PRPC_MESSAGE _pRpcMessage,
  677.     DWORD *_pdwStubPhase);
  678. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced2_OpenStream_Proxy( 
  679.     IWMReaderAdvanced2 * This,
  680.     /* [in] */ IStream *pStream,
  681.     /* [in] */ IWMReaderCallback *pCallback,
  682.     /* [in] */ void *pvContext);
  683. void __RPC_STUB IWMReaderAdvanced2_OpenStream_Stub(
  684.     IRpcStubBuffer *This,
  685.     IRpcChannelBuffer *_pRpcChannelBuffer,
  686.     PRPC_MESSAGE _pRpcMessage,
  687.     DWORD *_pdwStubPhase);
  688. #endif  /* __IWMReaderAdvanced2_INTERFACE_DEFINED__ */
  689. #ifndef __IWMReaderAdvanced3_INTERFACE_DEFINED__
  690. #define __IWMReaderAdvanced3_INTERFACE_DEFINED__
  691. /* interface IWMReaderAdvanced3 */
  692. /* [local][unique][helpstring][uuid][object] */ 
  693. EXTERN_C const IID IID_IWMReaderAdvanced3;
  694. #if defined(__cplusplus) && !defined(CINTERFACE)
  695.     
  696.     MIDL_INTERFACE("5DC0674B-F04B-4a4e-9F2A-B1AFDE2C8100")
  697.     IWMReaderAdvanced3 : public IWMReaderAdvanced2
  698.     {
  699.     public:
  700.         virtual HRESULT STDMETHODCALLTYPE StopNetStreaming( void) = 0;
  701.         
  702.         virtual HRESULT STDMETHODCALLTYPE StartAtPosition( 
  703.             /* [in] */ WORD wStreamNum,
  704.             /* [in] */ void *pvOffsetStart,
  705.             /* [in] */ void *pvDuration,
  706.             /* [in] */ WMT_OFFSET_FORMAT dwOffsetFormat,
  707.             /* [in] */ float fRate,
  708.             /* [in] */ void *pvContext) = 0;
  709.         
  710.     };
  711.     
  712. #else  /* C style interface */
  713.     typedef struct IWMReaderAdvanced3Vtbl
  714.     {
  715.         BEGIN_INTERFACE
  716.         
  717.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  718.             IWMReaderAdvanced3 * This,
  719.             /* [in] */ REFIID riid,
  720.             /* [iid_is][out] */ void **ppvObject);
  721.         
  722.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  723.             IWMReaderAdvanced3 * This);
  724.         
  725.         ULONG ( STDMETHODCALLTYPE *Release )( 
  726.             IWMReaderAdvanced3 * This);
  727.         
  728.         HRESULT ( STDMETHODCALLTYPE *SetUserProvidedClock )( 
  729.             IWMReaderAdvanced3 * This,
  730.             /* [in] */ BOOL fUserClock);
  731.         
  732.         HRESULT ( STDMETHODCALLTYPE *GetUserProvidedClock )( 
  733.             IWMReaderAdvanced3 * This,
  734.             /* [out] */ BOOL *pfUserClock);
  735.         
  736.         HRESULT ( STDMETHODCALLTYPE *DeliverTime )( 
  737.             IWMReaderAdvanced3 * This,
  738.             /* [in] */ QWORD cnsTime);
  739.         
  740.         HRESULT ( STDMETHODCALLTYPE *SetManualStreamSelection )( 
  741.             IWMReaderAdvanced3 * This,
  742.             /* [in] */ BOOL fSelection);
  743.         
  744.         HRESULT ( STDMETHODCALLTYPE *GetManualStreamSelection )( 
  745.             IWMReaderAdvanced3 * This,
  746.             /* [out] */ BOOL *pfSelection);
  747.         
  748.         HRESULT ( STDMETHODCALLTYPE *SetStreamsSelected )( 
  749.             IWMReaderAdvanced3 * This,
  750.             /* [in] */ WORD cStreamCount,
  751.             /* [in] */ WORD *pwStreamNumbers,
  752.             /* [in] */ WMT_STREAM_SELECTION *pSelections);
  753.         
  754.         HRESULT ( STDMETHODCALLTYPE *GetStreamSelected )( 
  755.             IWMReaderAdvanced3 * This,
  756.             /* [in] */ WORD wStreamNum,
  757.             /* [out] */ WMT_STREAM_SELECTION *pSelection);
  758.         
  759.         HRESULT ( STDMETHODCALLTYPE *SetReceiveSelectionCallbacks )( 
  760.             IWMReaderAdvanced3 * This,
  761.             /* [in] */ BOOL fGetCallbacks);
  762.         
  763.         HRESULT ( STDMETHODCALLTYPE *GetReceiveSelectionCallbacks )( 
  764.             IWMReaderAdvanced3 * This,
  765.             /* [out] */ BOOL *pfGetCallbacks);
  766.         
  767.         HRESULT ( STDMETHODCALLTYPE *SetReceiveStreamSamples )( 
  768.             IWMReaderAdvanced3 * This,
  769.             /* [in] */ WORD wStreamNum,
  770.             /* [in] */ BOOL fReceiveStreamSamples);
  771.         
  772.         HRESULT ( STDMETHODCALLTYPE *GetReceiveStreamSamples )( 
  773.             IWMReaderAdvanced3 * This,
  774.             /* [in] */ WORD wStreamNum,
  775.             /* [out] */ BOOL *pfReceiveStreamSamples);
  776.         
  777.         HRESULT ( STDMETHODCALLTYPE *SetAllocateForOutput )( 
  778.             IWMReaderAdvanced3 * This,
  779.             /* [in] */ DWORD dwOutputNum,
  780.             /* [in] */ BOOL fAllocate);
  781.         
  782.         HRESULT ( STDMETHODCALLTYPE *GetAllocateForOutput )( 
  783.             IWMReaderAdvanced3 * This,
  784.             /* [in] */ DWORD dwOutputNum,
  785.             /* [out] */ BOOL *pfAllocate);
  786.         
  787.         HRESULT ( STDMETHODCALLTYPE *SetAllocateForStream )( 
  788.             IWMReaderAdvanced3 * This,
  789.             /* [in] */ WORD wStreamNum,
  790.             /* [in] */ BOOL fAllocate);
  791.         
  792.         HRESULT ( STDMETHODCALLTYPE *GetAllocateForStream )( 
  793.             IWMReaderAdvanced3 * This,
  794.             /* [in] */ WORD dwSreamNum,
  795.             /* [out] */ BOOL *pfAllocate);
  796.         
  797.         HRESULT ( STDMETHODCALLTYPE *GetStatistics )( 
  798.             IWMReaderAdvanced3 * This,
  799.             /* [out][in] */ WM_READER_STATISTICS *pStatistics);
  800.         
  801.         HRESULT ( STDMETHODCALLTYPE *SetClientInfo )( 
  802.             IWMReaderAdvanced3 * This,
  803.             /* [in] */ WM_READER_CLIENTINFO *pClientInfo);
  804.         
  805.         HRESULT ( STDMETHODCALLTYPE *GetMaxOutputSampleSize )( 
  806.             IWMReaderAdvanced3 * This,
  807.             /* [in] */ DWORD dwOutput,
  808.             /* [out] */ DWORD *pcbMax);
  809.         
  810.         HRESULT ( STDMETHODCALLTYPE *GetMaxStreamSampleSize )( 
  811.             IWMReaderAdvanced3 * This,
  812.             /* [in] */ WORD wStream,
  813.             /* [out] */ DWORD *pcbMax);
  814.         
  815.         HRESULT ( STDMETHODCALLTYPE *NotifyLateDelivery )( 
  816.             IWMReaderAdvanced3 * This,
  817.             QWORD cnsLateness);
  818.         
  819.         HRESULT ( STDMETHODCALLTYPE *SetPlayMode )( 
  820.             IWMReaderAdvanced3 * This,
  821.             /* [in] */ WMT_PLAY_MODE Mode);
  822.         
  823.         HRESULT ( STDMETHODCALLTYPE *GetPlayMode )( 
  824.             IWMReaderAdvanced3 * This,
  825.             /* [out] */ WMT_PLAY_MODE *pMode);
  826.         
  827.         HRESULT ( STDMETHODCALLTYPE *GetBufferProgress )( 
  828.             IWMReaderAdvanced3 * This,
  829.             /* [out] */ DWORD *pdwPercent,
  830.             /* [out] */ QWORD *pcnsBuffering);
  831.         
  832.         HRESULT ( STDMETHODCALLTYPE *GetDownloadProgress )( 
  833.             IWMReaderAdvanced3 * This,
  834.             /* [out] */ DWORD *pdwPercent,
  835.             /* [out] */ QWORD *pqwBytesDownloaded,
  836.             /* [out] */ QWORD *pcnsDownload);
  837.         
  838.         HRESULT ( STDMETHODCALLTYPE *GetSaveAsProgress )( 
  839.             IWMReaderAdvanced3 * This,
  840.             /* [out] */ DWORD *pdwPercent);
  841.         
  842.         HRESULT ( STDMETHODCALLTYPE *SaveFileAs )( 
  843.             IWMReaderAdvanced3 * This,
  844.             /* [in] */ const WCHAR *pwszFilename);
  845.         
  846.         HRESULT ( STDMETHODCALLTYPE *GetProtocolName )( 
  847.             IWMReaderAdvanced3 * This,
  848.             /* [size_is][out] */ WCHAR *pwszProtocol,
  849.             /* [out][in] */ DWORD *pcchProtocol);
  850.         
  851.         HRESULT ( STDMETHODCALLTYPE *StartAtMarker )( 
  852.             IWMReaderAdvanced3 * This,
  853.             /* [in] */ WORD wMarkerIndex,
  854.             /* [in] */ QWORD cnsDuration,
  855.             /* [in] */ float fRate,
  856.             /* [in] */ void *pvContext);
  857.         
  858.         HRESULT ( STDMETHODCALLTYPE *GetOutputSetting )( 
  859.             IWMReaderAdvanced3 * This,
  860.             /* [in] */ DWORD dwOutputNum,
  861.             /* [in] */ LPCWSTR pszName,
  862.             /* [out] */ WMT_ATTR_DATATYPE *pType,
  863.             /* [size_is][out] */ BYTE *pValue,
  864.             /* [out][in] */ WORD *pcbLength);
  865.         
  866.         HRESULT ( STDMETHODCALLTYPE *SetOutputSetting )( 
  867.             IWMReaderAdvanced3 * This,
  868.             /* [in] */ DWORD dwOutputNum,
  869.             /* [in] */ LPCWSTR pszName,
  870.             /* [in] */ WMT_ATTR_DATATYPE Type,
  871.             /* [size_is][in] */ const BYTE *pValue,
  872.             /* [in] */ WORD cbLength);
  873.         
  874.         HRESULT ( STDMETHODCALLTYPE *Preroll )( 
  875.             IWMReaderAdvanced3 * This,
  876.             /* [in] */ QWORD cnsStart,
  877.             /* [in] */ QWORD cnsDuration,
  878.             /* [in] */ float fRate);
  879.         
  880.         HRESULT ( STDMETHODCALLTYPE *SetLogClientID )( 
  881.             IWMReaderAdvanced3 * This,
  882.             /* [in] */ BOOL fLogClientID);
  883.         
  884.         HRESULT ( STDMETHODCALLTYPE *GetLogClientID )( 
  885.             IWMReaderAdvanced3 * This,
  886.             /* [out] */ BOOL *pfLogClientID);
  887.         
  888.         HRESULT ( STDMETHODCALLTYPE *StopBuffering )( 
  889.             IWMReaderAdvanced3 * This);
  890.         
  891.         HRESULT ( STDMETHODCALLTYPE *OpenStream )( 
  892.             IWMReaderAdvanced3 * This,
  893.             /* [in] */ IStream *pStream,
  894.             /* [in] */ IWMReaderCallback *pCallback,
  895.             /* [in] */ void *pvContext);
  896.         
  897.         HRESULT ( STDMETHODCALLTYPE *StopNetStreaming )( 
  898.             IWMReaderAdvanced3 * This);
  899.         
  900.         HRESULT ( STDMETHODCALLTYPE *StartAtPosition )( 
  901.             IWMReaderAdvanced3 * This,
  902.             /* [in] */ WORD wStreamNum,
  903.             /* [in] */ void *pvOffsetStart,
  904.             /* [in] */ void *pvDuration,
  905.             /* [in] */ WMT_OFFSET_FORMAT dwOffsetFormat,
  906.             /* [in] */ float fRate,
  907.             /* [in] */ void *pvContext);
  908.         
  909.         END_INTERFACE
  910.     } IWMReaderAdvanced3Vtbl;
  911.     interface IWMReaderAdvanced3
  912.     {
  913.         CONST_VTBL struct IWMReaderAdvanced3Vtbl *lpVtbl;
  914.     };
  915.     
  916. #ifdef COBJMACROS
  917. #define IWMReaderAdvanced3_QueryInterface(This,riid,ppvObject)
  918.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  919. #define IWMReaderAdvanced3_AddRef(This)
  920.     (This)->lpVtbl -> AddRef(This)
  921. #define IWMReaderAdvanced3_Release(This)
  922.     (This)->lpVtbl -> Release(This)
  923. #define IWMReaderAdvanced3_SetUserProvidedClock(This,fUserClock)
  924.     (This)->lpVtbl -> SetUserProvidedClock(This,fUserClock)
  925. #define IWMReaderAdvanced3_GetUserProvidedClock(This,pfUserClock)
  926.     (This)->lpVtbl -> GetUserProvidedClock(This,pfUserClock)
  927. #define IWMReaderAdvanced3_DeliverTime(This,cnsTime)
  928.     (This)->lpVtbl -> DeliverTime(This,cnsTime)
  929. #define IWMReaderAdvanced3_SetManualStreamSelection(This,fSelection)
  930.     (This)->lpVtbl -> SetManualStreamSelection(This,fSelection)
  931. #define IWMReaderAdvanced3_GetManualStreamSelection(This,pfSelection)
  932.     (This)->lpVtbl -> GetManualStreamSelection(This,pfSelection)
  933. #define IWMReaderAdvanced3_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections)
  934.     (This)->lpVtbl -> SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections)
  935. #define IWMReaderAdvanced3_GetStreamSelected(This,wStreamNum,pSelection)
  936.     (This)->lpVtbl -> GetStreamSelected(This,wStreamNum,pSelection)
  937. #define IWMReaderAdvanced3_SetReceiveSelectionCallbacks(This,fGetCallbacks)
  938.     (This)->lpVtbl -> SetReceiveSelectionCallbacks(This,fGetCallbacks)
  939. #define IWMReaderAdvanced3_GetReceiveSelectionCallbacks(This,pfGetCallbacks)
  940.     (This)->lpVtbl -> GetReceiveSelectionCallbacks(This,pfGetCallbacks)
  941. #define IWMReaderAdvanced3_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples)
  942.     (This)->lpVtbl -> SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples)
  943. #define IWMReaderAdvanced3_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples)
  944.     (This)->lpVtbl -> GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples)
  945. #define IWMReaderAdvanced3_SetAllocateForOutput(This,dwOutputNum,fAllocate)
  946.     (This)->lpVtbl -> SetAllocateForOutput(This,dwOutputNum,fAllocate)
  947. #define IWMReaderAdvanced3_GetAllocateForOutput(This,dwOutputNum,pfAllocate)
  948.     (This)->lpVtbl -> GetAllocateForOutput(This,dwOutputNum,pfAllocate)
  949. #define IWMReaderAdvanced3_SetAllocateForStream(This,wStreamNum,fAllocate)
  950.     (This)->lpVtbl -> SetAllocateForStream(This,wStreamNum,fAllocate)
  951. #define IWMReaderAdvanced3_GetAllocateForStream(This,dwSreamNum,pfAllocate)
  952.     (This)->lpVtbl -> GetAllocateForStream(This,dwSreamNum,pfAllocate)
  953. #define IWMReaderAdvanced3_GetStatistics(This,pStatistics)
  954.     (This)->lpVtbl -> GetStatistics(This,pStatistics)
  955. #define IWMReaderAdvanced3_SetClientInfo(This,pClientInfo)
  956.     (This)->lpVtbl -> SetClientInfo(This,pClientInfo)
  957. #define IWMReaderAdvanced3_GetMaxOutputSampleSize(This,dwOutput,pcbMax)
  958.     (This)->lpVtbl -> GetMaxOutputSampleSize(This,dwOutput,pcbMax)
  959. #define IWMReaderAdvanced3_GetMaxStreamSampleSize(This,wStream,pcbMax)
  960.     (This)->lpVtbl -> GetMaxStreamSampleSize(This,wStream,pcbMax)
  961. #define IWMReaderAdvanced3_NotifyLateDelivery(This,cnsLateness)
  962.     (This)->lpVtbl -> NotifyLateDelivery(This,cnsLateness)
  963. #define IWMReaderAdvanced3_SetPlayMode(This,Mode)
  964.     (This)->lpVtbl -> SetPlayMode(This,Mode)
  965. #define IWMReaderAdvanced3_GetPlayMode(This,pMode)
  966.     (This)->lpVtbl -> GetPlayMode(This,pMode)
  967. #define IWMReaderAdvanced3_GetBufferProgress(This,pdwPercent,pcnsBuffering)
  968.     (This)->lpVtbl -> GetBufferProgress(This,pdwPercent,pcnsBuffering)
  969. #define IWMReaderAdvanced3_GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload)
  970.     (This)->lpVtbl -> GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload)
  971. #define IWMReaderAdvanced3_GetSaveAsProgress(This,pdwPercent)
  972.     (This)->lpVtbl -> GetSaveAsProgress(This,pdwPercent)
  973. #define IWMReaderAdvanced3_SaveFileAs(This,pwszFilename)
  974.     (This)->lpVtbl -> SaveFileAs(This,pwszFilename)
  975. #define IWMReaderAdvanced3_GetProtocolName(This,pwszProtocol,pcchProtocol)
  976.     (This)->lpVtbl -> GetProtocolName(This,pwszProtocol,pcchProtocol)
  977. #define IWMReaderAdvanced3_StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext)
  978.     (This)->lpVtbl -> StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext)
  979. #define IWMReaderAdvanced3_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength)
  980.     (This)->lpVtbl -> GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength)
  981. #define IWMReaderAdvanced3_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength)
  982.     (This)->lpVtbl -> SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength)
  983. #define IWMReaderAdvanced3_Preroll(This,cnsStart,cnsDuration,fRate)
  984.     (This)->lpVtbl -> Preroll(This,cnsStart,cnsDuration,fRate)
  985. #define IWMReaderAdvanced3_SetLogClientID(This,fLogClientID)
  986.     (This)->lpVtbl -> SetLogClientID(This,fLogClientID)
  987. #define IWMReaderAdvanced3_GetLogClientID(This,pfLogClientID)
  988.     (This)->lpVtbl -> GetLogClientID(This,pfLogClientID)
  989. #define IWMReaderAdvanced3_StopBuffering(This)
  990.     (This)->lpVtbl -> StopBuffering(This)
  991. #define IWMReaderAdvanced3_OpenStream(This,pStream,pCallback,pvContext)
  992.     (This)->lpVtbl -> OpenStream(This,pStream,pCallback,pvContext)
  993. #define IWMReaderAdvanced3_StopNetStreaming(This)
  994.     (This)->lpVtbl -> StopNetStreaming(This)
  995. #define IWMReaderAdvanced3_StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext)
  996.     (This)->lpVtbl -> StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext)
  997. #endif /* COBJMACROS */
  998. #endif  /* C style interface */
  999. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced3_StopNetStreaming_Proxy( 
  1000.     IWMReaderAdvanced3 * This);
  1001. void __RPC_STUB IWMReaderAdvanced3_StopNetStreaming_Stub(
  1002.     IRpcStubBuffer *This,
  1003.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1004.     PRPC_MESSAGE _pRpcMessage,
  1005.     DWORD *_pdwStubPhase);
  1006. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced3_StartAtPosition_Proxy( 
  1007.     IWMReaderAdvanced3 * This,
  1008.     /* [in] */ WORD wStreamNum,
  1009.     /* [in] */ void *pvOffsetStart,
  1010.     /* [in] */ void *pvDuration,
  1011.     /* [in] */ WMT_OFFSET_FORMAT dwOffsetFormat,
  1012.     /* [in] */ float fRate,
  1013.     /* [in] */ void *pvContext);
  1014. void __RPC_STUB IWMReaderAdvanced3_StartAtPosition_Stub(
  1015.     IRpcStubBuffer *This,
  1016.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1017.     PRPC_MESSAGE _pRpcMessage,
  1018.     DWORD *_pdwStubPhase);
  1019. #endif  /* __IWMReaderAdvanced3_INTERFACE_DEFINED__ */
  1020. #ifndef __IWMReaderAdvanced4_INTERFACE_DEFINED__
  1021. #define __IWMReaderAdvanced4_INTERFACE_DEFINED__
  1022. /* interface IWMReaderAdvanced4 */
  1023. /* [local][unique][helpstring][uuid][object] */ 
  1024. EXTERN_C const IID IID_IWMReaderAdvanced4;
  1025. #if defined(__cplusplus) && !defined(CINTERFACE)
  1026.     
  1027.     MIDL_INTERFACE("945A76A2-12AE-4d48-BD3C-CD1D90399B85")
  1028.     IWMReaderAdvanced4 : public IWMReaderAdvanced3
  1029.     {
  1030.     public:
  1031.         virtual HRESULT STDMETHODCALLTYPE GetLanguageCount( 
  1032.             /* [in] */ DWORD dwOutputNum,
  1033.             /* [out] */ WORD *pwLanguageCount) = 0;
  1034.         
  1035.         virtual HRESULT STDMETHODCALLTYPE GetLanguage( 
  1036.             /* [in] */ DWORD dwOutputNum,
  1037.             /* [in] */ WORD wLanguage,
  1038.             /* [size_is][out] */ WCHAR *pwszLanguageString,
  1039.             /* [out][in] */ WORD *pcchLanguageStringLength) = 0;
  1040.         
  1041.         virtual HRESULT STDMETHODCALLTYPE GetMaxSpeedFactor( 
  1042.             /* [out] */ double *pdblFactor) = 0;
  1043.         
  1044.         virtual HRESULT STDMETHODCALLTYPE IsUsingFastCache( 
  1045.             /* [out] */ BOOL *pfUsingFastCache) = 0;
  1046.         
  1047.         virtual HRESULT STDMETHODCALLTYPE AddLogParam( 
  1048.             /* [in] */ LPCWSTR wszNameSpace,
  1049.             /* [in] */ LPCWSTR wszName,
  1050.             /* [in] */ LPCWSTR wszValue) = 0;
  1051.         
  1052.         virtual HRESULT STDMETHODCALLTYPE SendLogParams( void) = 0;
  1053.         
  1054.         virtual HRESULT STDMETHODCALLTYPE CanSaveFileAs( 
  1055.             /* [out] */ BOOL *pfCanSave) = 0;
  1056.         
  1057.         virtual HRESULT STDMETHODCALLTYPE CancelSaveFileAs( void) = 0;
  1058.         
  1059.         virtual HRESULT STDMETHODCALLTYPE GetURL( 
  1060.             /* [size_is][out] */ WCHAR *pwszURL,
  1061.             /* [out][in] */ DWORD *pcchURL) = 0;
  1062.         
  1063.     };
  1064.     
  1065. #else  /* C style interface */
  1066.     typedef struct IWMReaderAdvanced4Vtbl
  1067.     {
  1068.         BEGIN_INTERFACE
  1069.         
  1070.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1071.             IWMReaderAdvanced4 * This,
  1072.             /* [in] */ REFIID riid,
  1073.             /* [iid_is][out] */ void **ppvObject);
  1074.         
  1075.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1076.             IWMReaderAdvanced4 * This);
  1077.         
  1078.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1079.             IWMReaderAdvanced4 * This);
  1080.         
  1081.         HRESULT ( STDMETHODCALLTYPE *SetUserProvidedClock )( 
  1082.             IWMReaderAdvanced4 * This,
  1083.             /* [in] */ BOOL fUserClock);
  1084.         
  1085.         HRESULT ( STDMETHODCALLTYPE *GetUserProvidedClock )( 
  1086.             IWMReaderAdvanced4 * This,
  1087.             /* [out] */ BOOL *pfUserClock);
  1088.         
  1089.         HRESULT ( STDMETHODCALLTYPE *DeliverTime )( 
  1090.             IWMReaderAdvanced4 * This,
  1091.             /* [in] */ QWORD cnsTime);
  1092.         
  1093.         HRESULT ( STDMETHODCALLTYPE *SetManualStreamSelection )( 
  1094.             IWMReaderAdvanced4 * This,
  1095.             /* [in] */ BOOL fSelection);
  1096.         
  1097.         HRESULT ( STDMETHODCALLTYPE *GetManualStreamSelection )( 
  1098.             IWMReaderAdvanced4 * This,
  1099.             /* [out] */ BOOL *pfSelection);
  1100.         
  1101.         HRESULT ( STDMETHODCALLTYPE *SetStreamsSelected )( 
  1102.             IWMReaderAdvanced4 * This,
  1103.             /* [in] */ WORD cStreamCount,
  1104.             /* [in] */ WORD *pwStreamNumbers,
  1105.             /* [in] */ WMT_STREAM_SELECTION *pSelections);
  1106.         
  1107.         HRESULT ( STDMETHODCALLTYPE *GetStreamSelected )( 
  1108.             IWMReaderAdvanced4 * This,
  1109.             /* [in] */ WORD wStreamNum,
  1110.             /* [out] */ WMT_STREAM_SELECTION *pSelection);
  1111.         
  1112.         HRESULT ( STDMETHODCALLTYPE *SetReceiveSelectionCallbacks )( 
  1113.             IWMReaderAdvanced4 * This,
  1114.             /* [in] */ BOOL fGetCallbacks);
  1115.         
  1116.         HRESULT ( STDMETHODCALLTYPE *GetReceiveSelectionCallbacks )( 
  1117.             IWMReaderAdvanced4 * This,
  1118.             /* [out] */ BOOL *pfGetCallbacks);
  1119.         
  1120.         HRESULT ( STDMETHODCALLTYPE *SetReceiveStreamSamples )( 
  1121.             IWMReaderAdvanced4 * This,
  1122.             /* [in] */ WORD wStreamNum,
  1123.             /* [in] */ BOOL fReceiveStreamSamples);
  1124.         
  1125.         HRESULT ( STDMETHODCALLTYPE *GetReceiveStreamSamples )( 
  1126.             IWMReaderAdvanced4 * This,
  1127.             /* [in] */ WORD wStreamNum,
  1128.             /* [out] */ BOOL *pfReceiveStreamSamples);
  1129.         
  1130.         HRESULT ( STDMETHODCALLTYPE *SetAllocateForOutput )( 
  1131.             IWMReaderAdvanced4 * This,
  1132.             /* [in] */ DWORD dwOutputNum,
  1133.             /* [in] */ BOOL fAllocate);
  1134.         
  1135.         HRESULT ( STDMETHODCALLTYPE *GetAllocateForOutput )( 
  1136.             IWMReaderAdvanced4 * This,
  1137.             /* [in] */ DWORD dwOutputNum,
  1138.             /* [out] */ BOOL *pfAllocate);
  1139.         
  1140.         HRESULT ( STDMETHODCALLTYPE *SetAllocateForStream )( 
  1141.             IWMReaderAdvanced4 * This,
  1142.             /* [in] */ WORD wStreamNum,
  1143.             /* [in] */ BOOL fAllocate);
  1144.         
  1145.         HRESULT ( STDMETHODCALLTYPE *GetAllocateForStream )( 
  1146.             IWMReaderAdvanced4 * This,
  1147.             /* [in] */ WORD dwSreamNum,
  1148.             /* [out] */ BOOL *pfAllocate);
  1149.         
  1150.         HRESULT ( STDMETHODCALLTYPE *GetStatistics )( 
  1151.             IWMReaderAdvanced4 * This,
  1152.             /* [out][in] */ WM_READER_STATISTICS *pStatistics);
  1153.         
  1154.         HRESULT ( STDMETHODCALLTYPE *SetClientInfo )( 
  1155.             IWMReaderAdvanced4 * This,
  1156.             /* [in] */ WM_READER_CLIENTINFO *pClientInfo);
  1157.         
  1158.         HRESULT ( STDMETHODCALLTYPE *GetMaxOutputSampleSize )( 
  1159.             IWMReaderAdvanced4 * This,
  1160.             /* [in] */ DWORD dwOutput,
  1161.             /* [out] */ DWORD *pcbMax);
  1162.         
  1163.         HRESULT ( STDMETHODCALLTYPE *GetMaxStreamSampleSize )( 
  1164.             IWMReaderAdvanced4 * This,
  1165.             /* [in] */ WORD wStream,
  1166.             /* [out] */ DWORD *pcbMax);
  1167.         
  1168.         HRESULT ( STDMETHODCALLTYPE *NotifyLateDelivery )( 
  1169.             IWMReaderAdvanced4 * This,
  1170.             QWORD cnsLateness);
  1171.         
  1172.         HRESULT ( STDMETHODCALLTYPE *SetPlayMode )( 
  1173.             IWMReaderAdvanced4 * This,
  1174.             /* [in] */ WMT_PLAY_MODE Mode);
  1175.         
  1176.         HRESULT ( STDMETHODCALLTYPE *GetPlayMode )( 
  1177.             IWMReaderAdvanced4 * This,
  1178.             /* [out] */ WMT_PLAY_MODE *pMode);
  1179.         
  1180.         HRESULT ( STDMETHODCALLTYPE *GetBufferProgress )( 
  1181.             IWMReaderAdvanced4 * This,
  1182.             /* [out] */ DWORD *pdwPercent,
  1183.             /* [out] */ QWORD *pcnsBuffering);
  1184.         
  1185.         HRESULT ( STDMETHODCALLTYPE *GetDownloadProgress )( 
  1186.             IWMReaderAdvanced4 * This,
  1187.             /* [out] */ DWORD *pdwPercent,
  1188.             /* [out] */ QWORD *pqwBytesDownloaded,
  1189.             /* [out] */ QWORD *pcnsDownload);
  1190.         
  1191.         HRESULT ( STDMETHODCALLTYPE *GetSaveAsProgress )( 
  1192.             IWMReaderAdvanced4 * This,
  1193.             /* [out] */ DWORD *pdwPercent);
  1194.         
  1195.         HRESULT ( STDMETHODCALLTYPE *SaveFileAs )( 
  1196.             IWMReaderAdvanced4 * This,
  1197.             /* [in] */ const WCHAR *pwszFilename);
  1198.         
  1199.         HRESULT ( STDMETHODCALLTYPE *GetProtocolName )( 
  1200.             IWMReaderAdvanced4 * This,
  1201.             /* [size_is][out] */ WCHAR *pwszProtocol,
  1202.             /* [out][in] */ DWORD *pcchProtocol);
  1203.         
  1204.         HRESULT ( STDMETHODCALLTYPE *StartAtMarker )( 
  1205.             IWMReaderAdvanced4 * This,
  1206.             /* [in] */ WORD wMarkerIndex,
  1207.             /* [in] */ QWORD cnsDuration,
  1208.             /* [in] */ float fRate,
  1209.             /* [in] */ void *pvContext);
  1210.         
  1211.         HRESULT ( STDMETHODCALLTYPE *GetOutputSetting )( 
  1212.             IWMReaderAdvanced4 * This,
  1213.             /* [in] */ DWORD dwOutputNum,
  1214.             /* [in] */ LPCWSTR pszName,
  1215.             /* [out] */ WMT_ATTR_DATATYPE *pType,
  1216.             /* [size_is][out] */ BYTE *pValue,
  1217.             /* [out][in] */ WORD *pcbLength);
  1218.         
  1219.         HRESULT ( STDMETHODCALLTYPE *SetOutputSetting )( 
  1220.             IWMReaderAdvanced4 * This,
  1221.             /* [in] */ DWORD dwOutputNum,
  1222.             /* [in] */ LPCWSTR pszName,
  1223.             /* [in] */ WMT_ATTR_DATATYPE Type,
  1224.             /* [size_is][in] */ const BYTE *pValue,
  1225.             /* [in] */ WORD cbLength);
  1226.         
  1227.         HRESULT ( STDMETHODCALLTYPE *Preroll )( 
  1228.             IWMReaderAdvanced4 * This,
  1229.             /* [in] */ QWORD cnsStart,
  1230.             /* [in] */ QWORD cnsDuration,
  1231.             /* [in] */ float fRate);
  1232.         
  1233.         HRESULT ( STDMETHODCALLTYPE *SetLogClientID )( 
  1234.             IWMReaderAdvanced4 * This,
  1235.             /* [in] */ BOOL fLogClientID);
  1236.         
  1237.         HRESULT ( STDMETHODCALLTYPE *GetLogClientID )( 
  1238.             IWMReaderAdvanced4 * This,
  1239.             /* [out] */ BOOL *pfLogClientID);
  1240.         
  1241.         HRESULT ( STDMETHODCALLTYPE *StopBuffering )( 
  1242.             IWMReaderAdvanced4 * This);
  1243.         
  1244.         HRESULT ( STDMETHODCALLTYPE *OpenStream )( 
  1245.             IWMReaderAdvanced4 * This,
  1246.             /* [in] */ IStream *pStream,
  1247.             /* [in] */ IWMReaderCallback *pCallback,
  1248.             /* [in] */ void *pvContext);
  1249.         
  1250.         HRESULT ( STDMETHODCALLTYPE *StopNetStreaming )( 
  1251.             IWMReaderAdvanced4 * This);
  1252.         
  1253.         HRESULT ( STDMETHODCALLTYPE *StartAtPosition )( 
  1254.             IWMReaderAdvanced4 * This,
  1255.             /* [in] */ WORD wStreamNum,
  1256.             /* [in] */ void *pvOffsetStart,
  1257.             /* [in] */ void *pvDuration,
  1258.             /* [in] */ WMT_OFFSET_FORMAT dwOffsetFormat,
  1259.             /* [in] */ float fRate,
  1260.             /* [in] */ void *pvContext);
  1261.         
  1262.         HRESULT ( STDMETHODCALLTYPE *GetLanguageCount )( 
  1263.             IWMReaderAdvanced4 * This,
  1264.             /* [in] */ DWORD dwOutputNum,
  1265.             /* [out] */ WORD *pwLanguageCount);
  1266.         
  1267.         HRESULT ( STDMETHODCALLTYPE *GetLanguage )( 
  1268.             IWMReaderAdvanced4 * This,
  1269.             /* [in] */ DWORD dwOutputNum,
  1270.             /* [in] */ WORD wLanguage,
  1271.             /* [size_is][out] */ WCHAR *pwszLanguageString,
  1272.             /* [out][in] */ WORD *pcchLanguageStringLength);
  1273.         
  1274.         HRESULT ( STDMETHODCALLTYPE *GetMaxSpeedFactor )( 
  1275.             IWMReaderAdvanced4 * This,
  1276.             /* [out] */ double *pdblFactor);
  1277.         
  1278.         HRESULT ( STDMETHODCALLTYPE *IsUsingFastCache )( 
  1279.             IWMReaderAdvanced4 * This,
  1280.             /* [out] */ BOOL *pfUsingFastCache);
  1281.         
  1282.         HRESULT ( STDMETHODCALLTYPE *AddLogParam )( 
  1283.             IWMReaderAdvanced4 * This,
  1284.             /* [in] */ LPCWSTR wszNameSpace,
  1285.             /* [in] */ LPCWSTR wszName,
  1286.             /* [in] */ LPCWSTR wszValue);
  1287.         
  1288.         HRESULT ( STDMETHODCALLTYPE *SendLogParams )( 
  1289.             IWMReaderAdvanced4 * This);
  1290.         
  1291.         HRESULT ( STDMETHODCALLTYPE *CanSaveFileAs )( 
  1292.             IWMReaderAdvanced4 * This,
  1293.             /* [out] */ BOOL *pfCanSave);
  1294.         
  1295.         HRESULT ( STDMETHODCALLTYPE *CancelSaveFileAs )( 
  1296.             IWMReaderAdvanced4 * This);
  1297.         
  1298.         HRESULT ( STDMETHODCALLTYPE *GetURL )( 
  1299.             IWMReaderAdvanced4 * This,
  1300.             /* [size_is][out] */ WCHAR *pwszURL,
  1301.             /* [out][in] */ DWORD *pcchURL);
  1302.         
  1303.         END_INTERFACE
  1304.     } IWMReaderAdvanced4Vtbl;
  1305.     interface IWMReaderAdvanced4
  1306.     {
  1307.         CONST_VTBL struct IWMReaderAdvanced4Vtbl *lpVtbl;
  1308.     };
  1309.     
  1310. #ifdef COBJMACROS
  1311. #define IWMReaderAdvanced4_QueryInterface(This,riid,ppvObject)
  1312.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1313. #define IWMReaderAdvanced4_AddRef(This)
  1314.     (This)->lpVtbl -> AddRef(This)
  1315. #define IWMReaderAdvanced4_Release(This)
  1316.     (This)->lpVtbl -> Release(This)
  1317. #define IWMReaderAdvanced4_SetUserProvidedClock(This,fUserClock)
  1318.     (This)->lpVtbl -> SetUserProvidedClock(This,fUserClock)
  1319. #define IWMReaderAdvanced4_GetUserProvidedClock(This,pfUserClock)
  1320.     (This)->lpVtbl -> GetUserProvidedClock(This,pfUserClock)
  1321. #define IWMReaderAdvanced4_DeliverTime(This,cnsTime)
  1322.     (This)->lpVtbl -> DeliverTime(This,cnsTime)
  1323. #define IWMReaderAdvanced4_SetManualStreamSelection(This,fSelection)
  1324.     (This)->lpVtbl -> SetManualStreamSelection(This,fSelection)
  1325. #define IWMReaderAdvanced4_GetManualStreamSelection(This,pfSelection)
  1326.     (This)->lpVtbl -> GetManualStreamSelection(This,pfSelection)
  1327. #define IWMReaderAdvanced4_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections)
  1328.     (This)->lpVtbl -> SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections)
  1329. #define IWMReaderAdvanced4_GetStreamSelected(This,wStreamNum,pSelection)
  1330.     (This)->lpVtbl -> GetStreamSelected(This,wStreamNum,pSelection)
  1331. #define IWMReaderAdvanced4_SetReceiveSelectionCallbacks(This,fGetCallbacks)
  1332.     (This)->lpVtbl -> SetReceiveSelectionCallbacks(This,fGetCallbacks)
  1333. #define IWMReaderAdvanced4_GetReceiveSelectionCallbacks(This,pfGetCallbacks)
  1334.     (This)->lpVtbl -> GetReceiveSelectionCallbacks(This,pfGetCallbacks)
  1335. #define IWMReaderAdvanced4_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples)
  1336.     (This)->lpVtbl -> SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples)
  1337. #define IWMReaderAdvanced4_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples)
  1338.     (This)->lpVtbl -> GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples)
  1339. #define IWMReaderAdvanced4_SetAllocateForOutput(This,dwOutputNum,fAllocate)
  1340.     (This)->lpVtbl -> SetAllocateForOutput(This,dwOutputNum,fAllocate)
  1341. #define IWMReaderAdvanced4_GetAllocateForOutput(This,dwOutputNum,pfAllocate)
  1342.     (This)->lpVtbl -> GetAllocateForOutput(This,dwOutputNum,pfAllocate)
  1343. #define IWMReaderAdvanced4_SetAllocateForStream(This,wStreamNum,fAllocate)
  1344.     (This)->lpVtbl -> SetAllocateForStream(This,wStreamNum,fAllocate)
  1345. #define IWMReaderAdvanced4_GetAllocateForStream(This,dwSreamNum,pfAllocate)
  1346.     (This)->lpVtbl -> GetAllocateForStream(This,dwSreamNum,pfAllocate)
  1347. #define IWMReaderAdvanced4_GetStatistics(This,pStatistics)
  1348.     (This)->lpVtbl -> GetStatistics(This,pStatistics)
  1349. #define IWMReaderAdvanced4_SetClientInfo(This,pClientInfo)
  1350.     (This)->lpVtbl -> SetClientInfo(This,pClientInfo)
  1351. #define IWMReaderAdvanced4_GetMaxOutputSampleSize(This,dwOutput,pcbMax)
  1352.     (This)->lpVtbl -> GetMaxOutputSampleSize(This,dwOutput,pcbMax)
  1353. #define IWMReaderAdvanced4_GetMaxStreamSampleSize(This,wStream,pcbMax)
  1354.     (This)->lpVtbl -> GetMaxStreamSampleSize(This,wStream,pcbMax)
  1355. #define IWMReaderAdvanced4_NotifyLateDelivery(This,cnsLateness)
  1356.     (This)->lpVtbl -> NotifyLateDelivery(This,cnsLateness)
  1357. #define IWMReaderAdvanced4_SetPlayMode(This,Mode)
  1358.     (This)->lpVtbl -> SetPlayMode(This,Mode)
  1359. #define IWMReaderAdvanced4_GetPlayMode(This,pMode)
  1360.     (This)->lpVtbl -> GetPlayMode(This,pMode)
  1361. #define IWMReaderAdvanced4_GetBufferProgress(This,pdwPercent,pcnsBuffering)
  1362.     (This)->lpVtbl -> GetBufferProgress(This,pdwPercent,pcnsBuffering)
  1363. #define IWMReaderAdvanced4_GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload)
  1364.     (This)->lpVtbl -> GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload)
  1365. #define IWMReaderAdvanced4_GetSaveAsProgress(This,pdwPercent)
  1366.     (This)->lpVtbl -> GetSaveAsProgress(This,pdwPercent)
  1367. #define IWMReaderAdvanced4_SaveFileAs(This,pwszFilename)
  1368.     (This)->lpVtbl -> SaveFileAs(This,pwszFilename)
  1369. #define IWMReaderAdvanced4_GetProtocolName(This,pwszProtocol,pcchProtocol)
  1370.     (This)->lpVtbl -> GetProtocolName(This,pwszProtocol,pcchProtocol)
  1371. #define IWMReaderAdvanced4_StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext)
  1372.     (This)->lpVtbl -> StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext)
  1373. #define IWMReaderAdvanced4_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength)
  1374.     (This)->lpVtbl -> GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength)
  1375. #define IWMReaderAdvanced4_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength)
  1376.     (This)->lpVtbl -> SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength)
  1377. #define IWMReaderAdvanced4_Preroll(This,cnsStart,cnsDuration,fRate)
  1378.     (This)->lpVtbl -> Preroll(This,cnsStart,cnsDuration,fRate)
  1379. #define IWMReaderAdvanced4_SetLogClientID(This,fLogClientID)
  1380.     (This)->lpVtbl -> SetLogClientID(This,fLogClientID)
  1381. #define IWMReaderAdvanced4_GetLogClientID(This,pfLogClientID)
  1382.     (This)->lpVtbl -> GetLogClientID(This,pfLogClientID)
  1383. #define IWMReaderAdvanced4_StopBuffering(This)
  1384.     (This)->lpVtbl -> StopBuffering(This)
  1385. #define IWMReaderAdvanced4_OpenStream(This,pStream,pCallback,pvContext)
  1386.     (This)->lpVtbl -> OpenStream(This,pStream,pCallback,pvContext)
  1387. #define IWMReaderAdvanced4_StopNetStreaming(This)
  1388.     (This)->lpVtbl -> StopNetStreaming(This)
  1389. #define IWMReaderAdvanced4_StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext)
  1390.     (This)->lpVtbl -> StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext)
  1391. #define IWMReaderAdvanced4_GetLanguageCount(This,dwOutputNum,pwLanguageCount)
  1392.     (This)->lpVtbl -> GetLanguageCount(This,dwOutputNum,pwLanguageCount)
  1393. #define IWMReaderAdvanced4_GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength)
  1394.     (This)->lpVtbl -> GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength)
  1395. #define IWMReaderAdvanced4_GetMaxSpeedFactor(This,pdblFactor)
  1396.     (This)->lpVtbl -> GetMaxSpeedFactor(This,pdblFactor)
  1397. #define IWMReaderAdvanced4_IsUsingFastCache(This,pfUsingFastCache)
  1398.     (This)->lpVtbl -> IsUsingFastCache(This,pfUsingFastCache)
  1399. #define IWMReaderAdvanced4_AddLogParam(This,wszNameSpace,wszName,wszValue)
  1400.     (This)->lpVtbl -> AddLogParam(This,wszNameSpace,wszName,wszValue)
  1401. #define IWMReaderAdvanced4_SendLogParams(This)
  1402.     (This)->lpVtbl -> SendLogParams(This)
  1403. #define IWMReaderAdvanced4_CanSaveFileAs(This,pfCanSave)
  1404.     (This)->lpVtbl -> CanSaveFileAs(This,pfCanSave)
  1405. #define IWMReaderAdvanced4_CancelSaveFileAs(This)
  1406.     (This)->lpVtbl -> CancelSaveFileAs(This)
  1407. #define IWMReaderAdvanced4_GetURL(This,pwszURL,pcchURL)
  1408.     (This)->lpVtbl -> GetURL(This,pwszURL,pcchURL)
  1409. #endif /* COBJMACROS */
  1410. #endif  /* C style interface */
  1411. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced4_GetLanguageCount_Proxy( 
  1412.     IWMReaderAdvanced4 * This,
  1413.     /* [in] */ DWORD dwOutputNum,
  1414.     /* [out] */ WORD *pwLanguageCount);
  1415. void __RPC_STUB IWMReaderAdvanced4_GetLanguageCount_Stub(
  1416.     IRpcStubBuffer *This,
  1417.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1418.     PRPC_MESSAGE _pRpcMessage,
  1419.     DWORD *_pdwStubPhase);
  1420. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced4_GetLanguage_Proxy( 
  1421.     IWMReaderAdvanced4 * This,
  1422.     /* [in] */ DWORD dwOutputNum,
  1423.     /* [in] */ WORD wLanguage,
  1424.     /* [size_is][out] */ WCHAR *pwszLanguageString,
  1425.     /* [out][in] */ WORD *pcchLanguageStringLength);
  1426. void __RPC_STUB IWMReaderAdvanced4_GetLanguage_Stub(
  1427.     IRpcStubBuffer *This,
  1428.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1429.     PRPC_MESSAGE _pRpcMessage,
  1430.     DWORD *_pdwStubPhase);
  1431. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced4_GetMaxSpeedFactor_Proxy( 
  1432.     IWMReaderAdvanced4 * This,
  1433.     /* [out] */ double *pdblFactor);
  1434. void __RPC_STUB IWMReaderAdvanced4_GetMaxSpeedFactor_Stub(
  1435.     IRpcStubBuffer *This,
  1436.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1437.     PRPC_MESSAGE _pRpcMessage,
  1438.     DWORD *_pdwStubPhase);
  1439. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced4_IsUsingFastCache_Proxy( 
  1440.     IWMReaderAdvanced4 * This,
  1441.     /* [out] */ BOOL *pfUsingFastCache);
  1442. void __RPC_STUB IWMReaderAdvanced4_IsUsingFastCache_Stub(
  1443.     IRpcStubBuffer *This,
  1444.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1445.     PRPC_MESSAGE _pRpcMessage,
  1446.     DWORD *_pdwStubPhase);
  1447. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced4_AddLogParam_Proxy( 
  1448.     IWMReaderAdvanced4 * This,
  1449.     /* [in] */ LPCWSTR wszNameSpace,
  1450.     /* [in] */ LPCWSTR wszName,
  1451.     /* [in] */ LPCWSTR wszValue);
  1452. void __RPC_STUB IWMReaderAdvanced4_AddLogParam_Stub(
  1453.     IRpcStubBuffer *This,
  1454.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1455.     PRPC_MESSAGE _pRpcMessage,
  1456.     DWORD *_pdwStubPhase);
  1457. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced4_SendLogParams_Proxy( 
  1458.     IWMReaderAdvanced4 * This);
  1459. void __RPC_STUB IWMReaderAdvanced4_SendLogParams_Stub(
  1460.     IRpcStubBuffer *This,
  1461.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1462.     PRPC_MESSAGE _pRpcMessage,
  1463.     DWORD *_pdwStubPhase);
  1464. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced4_CanSaveFileAs_Proxy( 
  1465.     IWMReaderAdvanced4 * This,
  1466.     /* [out] */ BOOL *pfCanSave);
  1467. void __RPC_STUB IWMReaderAdvanced4_CanSaveFileAs_Stub(
  1468.     IRpcStubBuffer *This,
  1469.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1470.     PRPC_MESSAGE _pRpcMessage,
  1471.     DWORD *_pdwStubPhase);
  1472. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced4_CancelSaveFileAs_Proxy( 
  1473.     IWMReaderAdvanced4 * This);
  1474. void __RPC_STUB IWMReaderAdvanced4_CancelSaveFileAs_Stub(
  1475.     IRpcStubBuffer *This,
  1476.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1477.     PRPC_MESSAGE _pRpcMessage,
  1478.     DWORD *_pdwStubPhase);
  1479. HRESULT STDMETHODCALLTYPE IWMReaderAdvanced4_GetURL_Proxy( 
  1480.     IWMReaderAdvanced4 * This,
  1481.     /* [size_is][out] */ WCHAR *pwszURL,
  1482.     /* [out][in] */ DWORD *pcchURL);
  1483. void __RPC_STUB IWMReaderAdvanced4_GetURL_Stub(
  1484.     IRpcStubBuffer *This,
  1485.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1486.     PRPC_MESSAGE _pRpcMessage,
  1487.     DWORD *_pdwStubPhase);
  1488. #endif  /* __IWMReaderAdvanced4_INTERFACE_DEFINED__ */
  1489. #ifndef __IWMReaderAllocatorEx_INTERFACE_DEFINED__
  1490. #define __IWMReaderAllocatorEx_INTERFACE_DEFINED__
  1491. /* interface IWMReaderAllocatorEx */
  1492. /* [local][unique][helpstring][uuid][object] */ 
  1493. EXTERN_C const IID IID_IWMReaderAllocatorEx;
  1494. #if defined(__cplusplus) && !defined(CINTERFACE)
  1495.     
  1496.     MIDL_INTERFACE("9F762FA7-A22E-428d-93C9-AC82F3AAFE5A")
  1497.     IWMReaderAllocatorEx : public IUnknown
  1498.     {
  1499.     public:
  1500.         virtual HRESULT STDMETHODCALLTYPE AllocateForStreamEx( 
  1501.             /* [in] */ WORD wStreamNum,
  1502.             /* [in] */ DWORD cbBuffer,
  1503.             /* [out] */ INSSBuffer **ppBuffer,
  1504.             /* [in] */ DWORD dwFlags,
  1505.             /* [in] */ QWORD cnsSampleTime,
  1506.             /* [in] */ QWORD cnsSampleDuration,
  1507.             /* [in] */ void *pvContext) = 0;
  1508.         
  1509.         virtual HRESULT STDMETHODCALLTYPE AllocateForOutputEx( 
  1510.             /* [in] */ DWORD dwOutputNum,
  1511.             /* [in] */ DWORD cbBuffer,
  1512.             /* [out] */ INSSBuffer **ppBuffer,
  1513.             /* [in] */ DWORD dwFlags,
  1514.             /* [in] */ QWORD cnsSampleTime,
  1515.             /* [in] */ QWORD cnsSampleDuration,
  1516.             /* [in] */ void *pvContext) = 0;
  1517.         
  1518.     };
  1519.     
  1520. #else  /* C style interface */
  1521.     typedef struct IWMReaderAllocatorExVtbl
  1522.     {
  1523.         BEGIN_INTERFACE
  1524.         
  1525.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1526.             IWMReaderAllocatorEx * This,
  1527.             /* [in] */ REFIID riid,
  1528.             /* [iid_is][out] */ void **ppvObject);
  1529.         
  1530.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1531.             IWMReaderAllocatorEx * This);
  1532.         
  1533.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1534.             IWMReaderAllocatorEx * This);
  1535.         
  1536.         HRESULT ( STDMETHODCALLTYPE *AllocateForStreamEx )( 
  1537.             IWMReaderAllocatorEx * This,
  1538.             /* [in] */ WORD wStreamNum,
  1539.             /* [in] */ DWORD cbBuffer,
  1540.             /* [out] */ INSSBuffer **ppBuffer,
  1541.             /* [in] */ DWORD dwFlags,
  1542.             /* [in] */ QWORD cnsSampleTime,
  1543.             /* [in] */ QWORD cnsSampleDuration,
  1544.             /* [in] */ void *pvContext);
  1545.         
  1546.         HRESULT ( STDMETHODCALLTYPE *AllocateForOutputEx )( 
  1547.             IWMReaderAllocatorEx * This,
  1548.             /* [in] */ DWORD dwOutputNum,
  1549.             /* [in] */ DWORD cbBuffer,
  1550.             /* [out] */ INSSBuffer **ppBuffer,
  1551.             /* [in] */ DWORD dwFlags,
  1552.             /* [in] */ QWORD cnsSampleTime,
  1553.             /* [in] */ QWORD cnsSampleDuration,
  1554.             /* [in] */ void *pvContext);
  1555.         
  1556.         END_INTERFACE
  1557.     } IWMReaderAllocatorExVtbl;
  1558.     interface IWMReaderAllocatorEx
  1559.     {
  1560.         CONST_VTBL struct IWMReaderAllocatorExVtbl *lpVtbl;
  1561.     };
  1562.     
  1563. #ifdef COBJMACROS
  1564. #define IWMReaderAllocatorEx_QueryInterface(This,riid,ppvObject)
  1565.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1566. #define IWMReaderAllocatorEx_AddRef(This)
  1567.     (This)->lpVtbl -> AddRef(This)
  1568. #define IWMReaderAllocatorEx_Release(This)
  1569.     (This)->lpVtbl -> Release(This)
  1570. #define IWMReaderAllocatorEx_AllocateForStreamEx(This,wStreamNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext)
  1571.     (This)->lpVtbl -> AllocateForStreamEx(This,wStreamNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext)
  1572. #define IWMReaderAllocatorEx_AllocateForOutputEx(This,dwOutputNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext)
  1573.     (This)->lpVtbl -> AllocateForOutputEx(This,dwOutputNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext)
  1574. #endif /* COBJMACROS */
  1575. #endif  /* C style interface */
  1576. HRESULT STDMETHODCALLTYPE IWMReaderAllocatorEx_AllocateForStreamEx_Proxy( 
  1577.     IWMReaderAllocatorEx * This,
  1578.     /* [in] */ WORD wStreamNum,
  1579.     /* [in] */ DWORD cbBuffer,
  1580.     /* [out] */ INSSBuffer **ppBuffer,
  1581.     /* [in] */ DWORD dwFlags,
  1582.     /* [in] */ QWORD cnsSampleTime,
  1583.     /* [in] */ QWORD cnsSampleDuration,
  1584.     /* [in] */ void *pvContext);
  1585. void __RPC_STUB IWMReaderAllocatorEx_AllocateForStreamEx_Stub(
  1586.     IRpcStubBuffer *This,
  1587.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1588.     PRPC_MESSAGE _pRpcMessage,
  1589.     DWORD *_pdwStubPhase);
  1590. HRESULT STDMETHODCALLTYPE IWMReaderAllocatorEx_AllocateForOutputEx_Proxy( 
  1591.     IWMReaderAllocatorEx * This,
  1592.     /* [in] */ DWORD dwOutputNum,
  1593.     /* [in] */ DWORD cbBuffer,
  1594.     /* [out] */ INSSBuffer **ppBuffer,
  1595.     /* [in] */ DWORD dwFlags,
  1596.     /* [in] */ QWORD cnsSampleTime,
  1597.     /* [in] */ QWORD cnsSampleDuration,
  1598.     /* [in] */ void *pvContext);
  1599. void __RPC_STUB IWMReaderAllocatorEx_AllocateForOutputEx_Stub(
  1600.     IRpcStubBuffer *This,
  1601.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1602.     PRPC_MESSAGE _pRpcMessage,
  1603.     DWORD *_pdwStubPhase);
  1604. #endif  /* __IWMReaderAllocatorEx_INTERFACE_DEFINED__ */
  1605. #ifndef __IWMReaderTypeNegotiation_INTERFACE_DEFINED__
  1606. #define __IWMReaderTypeNegotiation_INTERFACE_DEFINED__
  1607. /* interface IWMReaderTypeNegotiation */
  1608. /* [local][unique][helpstring][uuid][object] */ 
  1609. EXTERN_C const IID IID_IWMReaderTypeNegotiation;
  1610. #if defined(__cplusplus) && !defined(CINTERFACE)
  1611.     
  1612.     MIDL_INTERFACE("FDBE5592-81A1-41ea-93BD-735CAD1ADC05")
  1613.     IWMReaderTypeNegotiation : public IUnknown
  1614.     {
  1615.     public:
  1616.         virtual HRESULT STDMETHODCALLTYPE TryOutputProps( 
  1617.             /* [in] */ DWORD dwOutputNum,
  1618.             /* [in] */ IWMOutputMediaProps *pOutput) = 0;
  1619.         
  1620.     };
  1621.     
  1622. #else  /* C style interface */
  1623.     typedef struct IWMReaderTypeNegotiationVtbl
  1624.     {
  1625.         BEGIN_INTERFACE
  1626.         
  1627.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1628.             IWMReaderTypeNegotiation * This,
  1629.             /* [in] */ REFIID riid,
  1630.             /* [iid_is][out] */ void **ppvObject);
  1631.         
  1632.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1633.             IWMReaderTypeNegotiation * This);
  1634.         
  1635.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1636.             IWMReaderTypeNegotiation * This);
  1637.         
  1638.         HRESULT ( STDMETHODCALLTYPE *TryOutputProps )( 
  1639.             IWMReaderTypeNegotiation * This,
  1640.             /* [in] */ DWORD dwOutputNum,
  1641.             /* [in] */ IWMOutputMediaProps *pOutput);
  1642.         
  1643.         END_INTERFACE
  1644.     } IWMReaderTypeNegotiationVtbl;
  1645.     interface IWMReaderTypeNegotiation
  1646.     {
  1647.         CONST_VTBL struct IWMReaderTypeNegotiationVtbl *lpVtbl;
  1648.     };
  1649.     
  1650. #ifdef COBJMACROS
  1651. #define IWMReaderTypeNegotiation_QueryInterface(This,riid,ppvObject)
  1652.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1653. #define IWMReaderTypeNegotiation_AddRef(This)
  1654.     (This)->lpVtbl -> AddRef(This)
  1655. #define IWMReaderTypeNegotiation_Release(This)
  1656.     (This)->lpVtbl -> Release(This)
  1657. #define IWMReaderTypeNegotiation_TryOutputProps(This,dwOutputNum,pOutput)
  1658.     (This)->lpVtbl -> TryOutputProps(This,dwOutputNum,pOutput)
  1659. #endif /* COBJMACROS */
  1660. #endif  /* C style interface */
  1661. HRESULT STDMETHODCALLTYPE IWMReaderTypeNegotiation_TryOutputProps_Proxy( 
  1662.     IWMReaderTypeNegotiation * This,
  1663.     /* [in] */ DWORD dwOutputNum,
  1664.     /* [in] */ IWMOutputMediaProps *pOutput);
  1665. void __RPC_STUB IWMReaderTypeNegotiation_TryOutputProps_Stub(
  1666.     IRpcStubBuffer *This,
  1667.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1668.     PRPC_MESSAGE _pRpcMessage,
  1669.     DWORD *_pdwStubPhase);
  1670. #endif  /* __IWMReaderTypeNegotiation_INTERFACE_DEFINED__ */
  1671. #ifndef __IWMReaderCallbackAdvanced_INTERFACE_DEFINED__
  1672. #define __IWMReaderCallbackAdvanced_INTERFACE_DEFINED__
  1673. /* interface IWMReaderCallbackAdvanced */
  1674. /* [local][unique][helpstring][uuid][object] */ 
  1675. EXTERN_C const IID IID_IWMReaderCallbackAdvanced;
  1676. #if defined(__cplusplus) && !defined(CINTERFACE)
  1677.     
  1678.     MIDL_INTERFACE("96406BEB-2B2B-11d3-B36B-00C04F6108FF")
  1679.     IWMReaderCallbackAdvanced : public IUnknown
  1680.     {
  1681.     public:
  1682.         virtual HRESULT STDMETHODCALLTYPE OnStreamSample( 
  1683.             /* [in] */ WORD wStreamNum,
  1684.             /* [in] */ QWORD cnsSampleTime,
  1685.             /* [in] */ QWORD cnsSampleDuration,
  1686.             /* [in] */ DWORD dwFlags,
  1687.             /* [in] */ INSSBuffer *pSample,
  1688.             /* [in] */ void *pvContext) = 0;
  1689.         
  1690.         virtual HRESULT STDMETHODCALLTYPE OnTime( 
  1691.             /* [in] */ QWORD cnsCurrentTime,
  1692.             /* [in] */ void *pvContext) = 0;
  1693.         
  1694.         virtual HRESULT STDMETHODCALLTYPE OnStreamSelection( 
  1695.             /* [in] */ WORD wStreamCount,
  1696.             /* [in] */ WORD *pStreamNumbers,
  1697.             /* [in] */ WMT_STREAM_SELECTION *pSelections,
  1698.             /* [in] */ void *pvContext) = 0;
  1699.         
  1700.         virtual HRESULT STDMETHODCALLTYPE OnOutputPropsChanged( 
  1701.             /* [in] */ DWORD dwOutputNum,
  1702.             /* [in] */ WM_MEDIA_TYPE *pMediaType,
  1703.             /* [in] */ void *pvContext) = 0;
  1704.         
  1705.         virtual HRESULT STDMETHODCALLTYPE AllocateForStream( 
  1706.             /* [in] */ WORD wStreamNum,
  1707.             /* [in] */ DWORD cbBuffer,
  1708.             /* [out] */ INSSBuffer **ppBuffer,
  1709.             /* [in] */ void *pvContext) = 0;
  1710.         
  1711.         virtual HRESULT STDMETHODCALLTYPE AllocateForOutput( 
  1712.             /* [in] */ DWORD dwOutputNum,
  1713.             /* [in] */ DWORD cbBuffer,
  1714.             /* [out] */ INSSBuffer **ppBuffer,
  1715.             /* [in] */ void *pvContext) = 0;
  1716.         
  1717.     };
  1718.     
  1719. #else  /* C style interface */
  1720.     typedef struct IWMReaderCallbackAdvancedVtbl
  1721.     {
  1722.         BEGIN_INTERFACE
  1723.         
  1724.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1725.             IWMReaderCallbackAdvanced * This,
  1726.             /* [in] */ REFIID riid,
  1727.             /* [iid_is][out] */ void **ppvObject);
  1728.         
  1729.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1730.             IWMReaderCallbackAdvanced * This);
  1731.         
  1732.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1733.             IWMReaderCallbackAdvanced * This);
  1734.         
  1735.         HRESULT ( STDMETHODCALLTYPE *OnStreamSample )( 
  1736.             IWMReaderCallbackAdvanced * This,
  1737.             /* [in] */ WORD wStreamNum,
  1738.             /* [in] */ QWORD cnsSampleTime,
  1739.             /* [in] */ QWORD cnsSampleDuration,
  1740.             /* [in] */ DWORD dwFlags,
  1741.             /* [in] */ INSSBuffer *pSample,
  1742.             /* [in] */ void *pvContext);
  1743.         
  1744.         HRESULT ( STDMETHODCALLTYPE *OnTime )( 
  1745.             IWMReaderCallbackAdvanced * This,
  1746.             /* [in] */ QWORD cnsCurrentTime,
  1747.             /* [in] */ void *pvContext);
  1748.         
  1749.         HRESULT ( STDMETHODCALLTYPE *OnStreamSelection )( 
  1750.             IWMReaderCallbackAdvanced * This,
  1751.             /* [in] */ WORD wStreamCount,
  1752.             /* [in] */ WORD *pStreamNumbers,
  1753.             /* [in] */ WMT_STREAM_SELECTION *pSelections,
  1754.             /* [in] */ void *pvContext);
  1755.         
  1756.         HRESULT ( STDMETHODCALLTYPE *OnOutputPropsChanged )( 
  1757.             IWMReaderCallbackAdvanced * This,
  1758.             /* [in] */ DWORD dwOutputNum,
  1759.             /* [in] */ WM_MEDIA_TYPE *pMediaType,
  1760.             /* [in] */ void *pvContext);
  1761.         
  1762.         HRESULT ( STDMETHODCALLTYPE *AllocateForStream )( 
  1763.             IWMReaderCallbackAdvanced * This,
  1764.             /* [in] */ WORD wStreamNum,
  1765.             /* [in] */ DWORD cbBuffer,
  1766.             /* [out] */ INSSBuffer **ppBuffer,
  1767.             /* [in] */ void *pvContext);
  1768.         
  1769.         HRESULT ( STDMETHODCALLTYPE *AllocateForOutput )( 
  1770.             IWMReaderCallbackAdvanced * This,
  1771.             /* [in] */ DWORD dwOutputNum,
  1772.             /* [in] */ DWORD cbBuffer,
  1773.             /* [out] */ INSSBuffer **ppBuffer,
  1774.             /* [in] */ void *pvContext);
  1775.         
  1776.         END_INTERFACE
  1777.     } IWMReaderCallbackAdvancedVtbl;
  1778.     interface IWMReaderCallbackAdvanced
  1779.     {
  1780.         CONST_VTBL struct IWMReaderCallbackAdvancedVtbl *lpVtbl;
  1781.     };
  1782.     
  1783. #ifdef COBJMACROS
  1784. #define IWMReaderCallbackAdvanced_QueryInterface(This,riid,ppvObject)
  1785.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1786. #define IWMReaderCallbackAdvanced_AddRef(This)
  1787.     (This)->lpVtbl -> AddRef(This)
  1788. #define IWMReaderCallbackAdvanced_Release(This)
  1789.     (This)->lpVtbl -> Release(This)
  1790. #define IWMReaderCallbackAdvanced_OnStreamSample(This,wStreamNum,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext)
  1791.     (This)->lpVtbl -> OnStreamSample(This,wStreamNum,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext)
  1792. #define IWMReaderCallbackAdvanced_OnTime(This,cnsCurrentTime,pvContext)
  1793.     (This)->lpVtbl -> OnTime(This,cnsCurrentTime,pvContext)
  1794. #define IWMReaderCallbackAdvanced_OnStreamSelection(This,wStreamCount,pStreamNumbers,pSelections,pvContext)
  1795.     (This)->lpVtbl -> OnStreamSelection(This,wStreamCount,pStreamNumbers,pSelections,pvContext)
  1796. #define IWMReaderCallbackAdvanced_OnOutputPropsChanged(This,dwOutputNum,pMediaType,pvContext)
  1797.     (This)->lpVtbl -> OnOutputPropsChanged(This,dwOutputNum,pMediaType,pvContext)
  1798. #define IWMReaderCallbackAdvanced_AllocateForStream(This,wStreamNum,cbBuffer,ppBuffer,pvContext)
  1799.     (This)->lpVtbl -> AllocateForStream(This,wStreamNum,cbBuffer,ppBuffer,pvContext)
  1800. #define IWMReaderCallbackAdvanced_AllocateForOutput(This,dwOutputNum,cbBuffer,ppBuffer,pvContext)
  1801.     (This)->lpVtbl -> AllocateForOutput(This,dwOutputNum,cbBuffer,ppBuffer,pvContext)
  1802. #endif /* COBJMACROS */
  1803. #endif  /* C style interface */
  1804. HRESULT STDMETHODCALLTYPE IWMReaderCallbackAdvanced_OnStreamSample_Proxy( 
  1805.     IWMReaderCallbackAdvanced * This,
  1806.     /* [in] */ WORD wStreamNum,
  1807.     /* [in] */ QWORD cnsSampleTime,
  1808.     /* [in] */ QWORD cnsSampleDuration,
  1809.     /* [in] */ DWORD dwFlags,
  1810.     /* [in] */ INSSBuffer *pSample,
  1811.     /* [in] */ void *pvContext);
  1812. void __RPC_STUB IWMReaderCallbackAdvanced_OnStreamSample_Stub(
  1813.     IRpcStubBuffer *This,
  1814.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1815.     PRPC_MESSAGE _pRpcMessage,
  1816.     DWORD *_pdwStubPhase);
  1817. HRESULT STDMETHODCALLTYPE IWMReaderCallbackAdvanced_OnTime_Proxy( 
  1818.     IWMReaderCallbackAdvanced * This,
  1819.     /* [in] */ QWORD cnsCurrentTime,
  1820.     /* [in] */ void *pvContext);
  1821. void __RPC_STUB IWMReaderCallbackAdvanced_OnTime_Stub(
  1822.     IRpcStubBuffer *This,
  1823.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1824.     PRPC_MESSAGE _pRpcMessage,
  1825.     DWORD *_pdwStubPhase);
  1826. HRESULT STDMETHODCALLTYPE IWMReaderCallbackAdvanced_OnStreamSelection_Proxy( 
  1827.     IWMReaderCallbackAdvanced * This,
  1828.     /* [in] */ WORD wStreamCount,
  1829.     /* [in] */ WORD *pStreamNumbers,
  1830.     /* [in] */ WMT_STREAM_SELECTION *pSelections,
  1831.     /* [in] */ void *pvContext);
  1832. void __RPC_STUB IWMReaderCallbackAdvanced_OnStreamSelection_Stub(
  1833.     IRpcStubBuffer *This,
  1834.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1835.     PRPC_MESSAGE _pRpcMessage,
  1836.     DWORD *_pdwStubPhase);
  1837. HRESULT STDMETHODCALLTYPE IWMReaderCallbackAdvanced_OnOutputPropsChanged_Proxy( 
  1838.     IWMReaderCallbackAdvanced * This,
  1839.     /* [in] */ DWORD dwOutputNum,
  1840.     /* [in] */ WM_MEDIA_TYPE *pMediaType,
  1841.     /* [in] */ void *pvContext);
  1842. void __RPC_STUB IWMReaderCallbackAdvanced_OnOutputPropsChanged_Stub(
  1843.     IRpcStubBuffer *This,
  1844.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1845.     PRPC_MESSAGE _pRpcMessage,
  1846.     DWORD *_pdwStubPhase);
  1847. HRESULT STDMETHODCALLTYPE IWMReaderCallbackAdvanced_AllocateForStream_Proxy( 
  1848.     IWMReaderCallbackAdvanced * This,
  1849.     /* [in] */ WORD wStreamNum,
  1850.     /* [in] */ DWORD cbBuffer,
  1851.     /* [out] */ INSSBuffer **ppBuffer,
  1852.     /* [in] */ void *pvContext);
  1853. void __RPC_STUB IWMReaderCallbackAdvanced_AllocateForStream_Stub(
  1854.     IRpcStubBuffer *This,
  1855.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1856.     PRPC_MESSAGE _pRpcMessage,
  1857.     DWORD *_pdwStubPhase);
  1858. HRESULT STDMETHODCALLTYPE IWMReaderCallbackAdvanced_AllocateForOutput_Proxy( 
  1859.     IWMReaderCallbackAdvanced * This,
  1860.     /* [in] */ DWORD dwOutputNum,
  1861.     /* [in] */ DWORD cbBuffer,
  1862.     /* [out] */ INSSBuffer **ppBuffer,
  1863.     /* [in] */ void *pvContext);
  1864. void __RPC_STUB IWMReaderCallbackAdvanced_AllocateForOutput_Stub(
  1865.     IRpcStubBuffer *This,
  1866.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1867.     PRPC_MESSAGE _pRpcMessage,
  1868.     DWORD *_pdwStubPhase);
  1869. #endif  /* __IWMReaderCallbackAdvanced_INTERFACE_DEFINED__ */
  1870. #ifndef __IWMDRMReader_INTERFACE_DEFINED__
  1871. #define __IWMDRMReader_INTERFACE_DEFINED__
  1872. /* interface IWMDRMReader */
  1873. /* [local][unique][helpstring][uuid][object] */ 
  1874. EXTERN_C const IID IID_IWMDRMReader;
  1875. #if defined(__cplusplus) && !defined(CINTERFACE)
  1876.     
  1877.     MIDL_INTERFACE("D2827540-3EE7-432c-B14C-DC17F085D3B3")
  1878.     IWMDRMReader : public IUnknown
  1879.     {
  1880.     public:
  1881.         virtual HRESULT STDMETHODCALLTYPE AcquireLicense( 
  1882.             /* [in] */ DWORD dwFlags) = 0;
  1883.         
  1884.         virtual HRESULT STDMETHODCALLTYPE CancelLicenseAcquisition( void) = 0;
  1885.         
  1886.         virtual HRESULT STDMETHODCALLTYPE Individualize( 
  1887.             /* [in] */ DWORD dwFlags) = 0;
  1888.         
  1889.         virtual HRESULT STDMETHODCALLTYPE CancelIndividualization( void) = 0;
  1890.         
  1891.         virtual HRESULT STDMETHODCALLTYPE MonitorLicenseAcquisition( void) = 0;
  1892.         
  1893.         virtual HRESULT STDMETHODCALLTYPE CancelMonitorLicenseAcquisition( void) = 0;
  1894.         
  1895.         virtual HRESULT STDMETHODCALLTYPE SetDRMProperty( 
  1896.             /* [in] */ LPCWSTR pwstrName,
  1897.             /* [in] */ WMT_ATTR_DATATYPE dwType,
  1898.             /* [size_is][in] */ const BYTE *pValue,
  1899.             /* [in] */ WORD cbLength) = 0;
  1900.         
  1901.         virtual HRESULT STDMETHODCALLTYPE GetDRMProperty( 
  1902.             /* [in] */ LPCWSTR pwstrName,
  1903.             /* [out] */ WMT_ATTR_DATATYPE *pdwType,
  1904.             /* [size_is][out] */ BYTE *pValue,
  1905.             /* [out][in] */ WORD *pcbLength) = 0;
  1906.         
  1907.     };
  1908.     
  1909. #else  /* C style interface */
  1910.     typedef struct IWMDRMReaderVtbl
  1911.     {
  1912.         BEGIN_INTERFACE
  1913.         
  1914.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1915.             IWMDRMReader * This,
  1916.             /* [in] */ REFIID riid,
  1917.             /* [iid_is][out] */ void **ppvObject);
  1918.         
  1919.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1920.             IWMDRMReader * This);
  1921.         
  1922.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1923.             IWMDRMReader * This);
  1924.         
  1925.         HRESULT ( STDMETHODCALLTYPE *AcquireLicense )( 
  1926.             IWMDRMReader * This,
  1927.             /* [in] */ DWORD dwFlags);
  1928.         
  1929.         HRESULT ( STDMETHODCALLTYPE *CancelLicenseAcquisition )( 
  1930.             IWMDRMReader * This);
  1931.         
  1932.         HRESULT ( STDMETHODCALLTYPE *Individualize )( 
  1933.             IWMDRMReader * This,
  1934.             /* [in] */ DWORD dwFlags);
  1935.         
  1936.         HRESULT ( STDMETHODCALLTYPE *CancelIndividualization )( 
  1937.             IWMDRMReader * This);
  1938.         
  1939.         HRESULT ( STDMETHODCALLTYPE *MonitorLicenseAcquisition )( 
  1940.             IWMDRMReader * This);
  1941.         
  1942.         HRESULT ( STDMETHODCALLTYPE *CancelMonitorLicenseAcquisition )( 
  1943.             IWMDRMReader * This);
  1944.         
  1945.         HRESULT ( STDMETHODCALLTYPE *SetDRMProperty )( 
  1946.             IWMDRMReader * This,
  1947.             /* [in] */ LPCWSTR pwstrName,
  1948.             /* [in] */ WMT_ATTR_DATATYPE dwType,
  1949.             /* [size_is][in] */ const BYTE *pValue,
  1950.             /* [in] */ WORD cbLength);
  1951.         
  1952.         HRESULT ( STDMETHODCALLTYPE *GetDRMProperty )( 
  1953.             IWMDRMReader * This,
  1954.             /* [in] */ LPCWSTR pwstrName,
  1955.             /* [out] */ WMT_ATTR_DATATYPE *pdwType,
  1956.             /* [size_is][out] */ BYTE *pValue,
  1957.             /* [out][in] */ WORD *pcbLength);
  1958.         
  1959.         END_INTERFACE
  1960.     } IWMDRMReaderVtbl;
  1961.     interface IWMDRMReader
  1962.     {
  1963.         CONST_VTBL struct IWMDRMReaderVtbl *lpVtbl;
  1964.     };
  1965.     
  1966. #ifdef COBJMACROS
  1967. #define IWMDRMReader_QueryInterface(This,riid,ppvObject)
  1968.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1969. #define IWMDRMReader_AddRef(This)
  1970.     (This)->lpVtbl -> AddRef(This)
  1971. #define IWMDRMReader_Release(This)
  1972.     (This)->lpVtbl -> Release(This)
  1973. #define IWMDRMReader_AcquireLicense(This,dwFlags)
  1974.     (This)->lpVtbl -> AcquireLicense(This,dwFlags)
  1975. #define IWMDRMReader_CancelLicenseAcquisition(This)
  1976.     (This)->lpVtbl -> CancelLicenseAcquisition(This)
  1977. #define IWMDRMReader_Individualize(This,dwFlags)
  1978.     (This)->lpVtbl -> Individualize(This,dwFlags)
  1979. #define IWMDRMReader_CancelIndividualization(This)
  1980.     (This)->lpVtbl -> CancelIndividualization(This)
  1981. #define IWMDRMReader_MonitorLicenseAcquisition(This)
  1982.     (This)->lpVtbl -> MonitorLicenseAcquisition(This)
  1983. #define IWMDRMReader_CancelMonitorLicenseAcquisition(This)
  1984.     (This)->lpVtbl -> CancelMonitorLicenseAcquisition(This)
  1985. #define IWMDRMReader_SetDRMProperty(This,pwstrName,dwType,pValue,cbLength)
  1986.     (This)->lpVtbl -> SetDRMProperty(This,pwstrName,dwType,pValue,cbLength)
  1987. #define IWMDRMReader_GetDRMProperty(This,pwstrName,pdwType,pValue,pcbLength)
  1988.     (This)->lpVtbl -> GetDRMProperty(This,pwstrName,pdwType,pValue,pcbLength)
  1989. #endif /* COBJMACROS */
  1990. #endif  /* C style interface */
  1991. HRESULT STDMETHODCALLTYPE IWMDRMReader_AcquireLicense_Proxy( 
  1992.     IWMDRMReader * This,
  1993.     /* [in] */ DWORD dwFlags);
  1994. void __RPC_STUB IWMDRMReader_AcquireLicense_Stub(
  1995.     IRpcStubBuffer *This,
  1996.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1997.     PRPC_MESSAGE _pRpcMessage,
  1998.     DWORD *_pdwStubPhase);
  1999. HRESULT STDMETHODCALLTYPE IWMDRMReader_CancelLicenseAcquisition_Proxy( 
  2000.     IWMDRMReader * This);
  2001. void __RPC_STUB IWMDRMReader_CancelLicenseAcquisition_Stub(
  2002.     IRpcStubBuffer *This,
  2003.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2004.     PRPC_MESSAGE _pRpcMessage,
  2005.     DWORD *_pdwStubPhase);
  2006. HRESULT STDMETHODCALLTYPE IWMDRMReader_Individualize_Proxy( 
  2007.     IWMDRMReader * This,
  2008.     /* [in] */ DWORD dwFlags);
  2009. void __RPC_STUB IWMDRMReader_Individualize_Stub(
  2010.     IRpcStubBuffer *This,
  2011.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2012.     PRPC_MESSAGE _pRpcMessage,
  2013.     DWORD *_pdwStubPhase);
  2014. HRESULT STDMETHODCALLTYPE IWMDRMReader_CancelIndividualization_Proxy( 
  2015.     IWMDRMReader * This);
  2016. void __RPC_STUB IWMDRMReader_CancelIndividualization_Stub(
  2017.     IRpcStubBuffer *This,
  2018.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2019.     PRPC_MESSAGE _pRpcMessage,
  2020.     DWORD *_pdwStubPhase);
  2021. HRESULT STDMETHODCALLTYPE IWMDRMReader_MonitorLicenseAcquisition_Proxy( 
  2022.     IWMDRMReader * This);
  2023. void __RPC_STUB IWMDRMReader_MonitorLicenseAcquisition_Stub(
  2024.     IRpcStubBuffer *This,
  2025.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2026.     PRPC_MESSAGE _pRpcMessage,
  2027.     DWORD *_pdwStubPhase);
  2028. HRESULT STDMETHODCALLTYPE IWMDRMReader_CancelMonitorLicenseAcquisition_Proxy( 
  2029.     IWMDRMReader * This);
  2030. void __RPC_STUB IWMDRMReader_CancelMonitorLicenseAcquisition_Stub(
  2031.     IRpcStubBuffer *This,
  2032.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2033.     PRPC_MESSAGE _pRpcMessage,
  2034.     DWORD *_pdwStubPhase);
  2035. HRESULT STDMETHODCALLTYPE IWMDRMReader_SetDRMProperty_Proxy( 
  2036.     IWMDRMReader * This,
  2037.     /* [in] */ LPCWSTR pwstrName,
  2038.     /* [in] */ WMT_ATTR_DATATYPE dwType,
  2039.     /* [size_is][in] */ const BYTE *pValue,
  2040.     /* [in] */ WORD cbLength);
  2041. void __RPC_STUB IWMDRMReader_SetDRMProperty_Stub(
  2042.     IRpcStubBuffer *This,
  2043.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2044.     PRPC_MESSAGE _pRpcMessage,
  2045.     DWORD *_pdwStubPhase);
  2046. HRESULT STDMETHODCALLTYPE IWMDRMReader_GetDRMProperty_Proxy( 
  2047.     IWMDRMReader * This,
  2048.     /* [in] */ LPCWSTR pwstrName,
  2049.     /* [out] */ WMT_ATTR_DATATYPE *pdwType,
  2050.     /* [size_is][out] */ BYTE *pValue,
  2051.     /* [out][in] */ WORD *pcbLength);
  2052. void __RPC_STUB IWMDRMReader_GetDRMProperty_Stub(
  2053.     IRpcStubBuffer *This,
  2054.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2055.     PRPC_MESSAGE _pRpcMessage,
  2056.     DWORD *_pdwStubPhase);
  2057. #endif  /* __IWMDRMReader_INTERFACE_DEFINED__ */
  2058. #ifndef __IWMReaderNetworkConfig_INTERFACE_DEFINED__
  2059. #define __IWMReaderNetworkConfig_INTERFACE_DEFINED__
  2060. /* interface IWMReaderNetworkConfig */
  2061. /* [local][unique][helpstring][uuid][object] */ 
  2062. EXTERN_C const IID IID_IWMReaderNetworkConfig;
  2063. #if defined(__cplusplus) && !defined(CINTERFACE)
  2064.     
  2065.     MIDL_INTERFACE("96406BEC-2B2B-11d3-B36B-00C04F6108FF")
  2066.     IWMReaderNetworkConfig : public IUnknown
  2067.     {
  2068.     public:
  2069.         virtual HRESULT STDMETHODCALLTYPE GetBufferingTime( 
  2070.             /* [out] */ QWORD *pcnsBufferingTime) = 0;
  2071.         
  2072.         virtual HRESULT STDMETHODCALLTYPE SetBufferingTime( 
  2073.             /* [in] */ QWORD cnsBufferingTime) = 0;
  2074.         
  2075.         virtual HRESULT STDMETHODCALLTYPE GetUDPPortRanges( 
  2076.             /* [size_is][out] */ WM_PORT_NUMBER_RANGE *pRangeArray,
  2077.             /* [out][in] */ DWORD *pcRanges) = 0;
  2078.         
  2079.         virtual HRESULT STDMETHODCALLTYPE SetUDPPortRanges( 
  2080.             /* [size_is][in] */ WM_PORT_NUMBER_RANGE *pRangeArray,
  2081.             /* [in] */ DWORD cRanges) = 0;
  2082.         
  2083.         virtual HRESULT STDMETHODCALLTYPE GetProxySettings( 
  2084.             /* [in] */ LPCWSTR pwszProtocol,
  2085.             /* [out] */ WMT_PROXY_SETTINGS *pProxySetting) = 0;
  2086.         
  2087.         virtual HRESULT STDMETHODCALLTYPE SetProxySettings( 
  2088.             /* [in] */ LPCWSTR pwszProtocol,
  2089.             /* [in] */ WMT_PROXY_SETTINGS ProxySetting) = 0;
  2090.         
  2091.         virtual HRESULT STDMETHODCALLTYPE GetProxyHostName( 
  2092.             /* [in] */ LPCWSTR pwszProtocol,
  2093.             /* [size_is][out] */ WCHAR *pwszHostName,
  2094.             /* [out][in] */ DWORD *pcchHostName) = 0;
  2095.         
  2096.         virtual HRESULT STDMETHODCALLTYPE SetProxyHostName( 
  2097.             /* [in] */ LPCWSTR pwszProtocol,
  2098.             /* [in] */ LPCWSTR pwszHostName) = 0;
  2099.         
  2100.         virtual HRESULT STDMETHODCALLTYPE GetProxyPort( 
  2101.             /* [in] */ LPCWSTR pwszProtocol,
  2102.             /* [out] */ DWORD *pdwPort) = 0;
  2103.         
  2104.         virtual HRESULT STDMETHODCALLTYPE SetProxyPort( 
  2105.             /* [in] */ LPCWSTR pwszProtocol,
  2106.             /* [in] */ DWORD dwPort) = 0;
  2107.         
  2108.         virtual HRESULT STDMETHODCALLTYPE GetProxyExceptionList( 
  2109.             /* [in] */ LPCWSTR pwszProtocol,
  2110.             /* [size_is][out] */ WCHAR *pwszExceptionList,
  2111.             /* [out][in] */ DWORD *pcchExceptionList) = 0;
  2112.         
  2113.         virtual HRESULT STDMETHODCALLTYPE SetProxyExceptionList( 
  2114.             /* [in] */ LPCWSTR pwszProtocol,
  2115.             /* [in] */ LPCWSTR pwszExceptionList) = 0;
  2116.         
  2117.         virtual HRESULT STDMETHODCALLTYPE GetProxyBypassForLocal( 
  2118.             /* [in] */ LPCWSTR pwszProtocol,
  2119.             /* [out] */ BOOL *pfBypassForLocal) = 0;
  2120.         
  2121.         virtual HRESULT STDMETHODCALLTYPE SetProxyBypassForLocal( 
  2122.             /* [in] */ LPCWSTR pwszProtocol,
  2123.             /* [in] */ BOOL fBypassForLocal) = 0;
  2124.         
  2125.         virtual HRESULT STDMETHODCALLTYPE GetForceRerunAutoProxyDetection( 
  2126.             /* [out] */ BOOL *pfForceRerunDetection) = 0;
  2127.         
  2128.         virtual HRESULT STDMETHODCALLTYPE SetForceRerunAutoProxyDetection( 
  2129.             /* [in] */ BOOL fForceRerunDetection) = 0;
  2130.         
  2131.         virtual HRESULT STDMETHODCALLTYPE GetEnableMulticast( 
  2132.             /* [out] */ BOOL *pfEnableMulticast) = 0;
  2133.         
  2134.         virtual HRESULT STDMETHODCALLTYPE SetEnableMulticast( 
  2135.             /* [in] */ BOOL fEnableMulticast) = 0;
  2136.         
  2137.         virtual HRESULT STDMETHODCALLTYPE GetEnableHTTP( 
  2138.             /* [out] */ BOOL *pfEnableHTTP) = 0;
  2139.         
  2140.         virtual HRESULT STDMETHODCALLTYPE SetEnableHTTP( 
  2141.             /* [in] */ BOOL fEnableHTTP) = 0;
  2142.         
  2143.         virtual HRESULT STDMETHODCALLTYPE GetEnableUDP( 
  2144.             /* [out] */ BOOL *pfEnableUDP) = 0;
  2145.         
  2146.         virtual HRESULT STDMETHODCALLTYPE SetEnableUDP( 
  2147.             /* [in] */ BOOL fEnableUDP) = 0;
  2148.         
  2149.         virtual HRESULT STDMETHODCALLTYPE GetEnableTCP( 
  2150.             /* [out] */ BOOL *pfEnableTCP) = 0;
  2151.         
  2152.         virtual HRESULT STDMETHODCALLTYPE SetEnableTCP( 
  2153.             /* [in] */ BOOL fEnableTCP) = 0;
  2154.         
  2155.         virtual HRESULT STDMETHODCALLTYPE ResetProtocolRollover( void) = 0;
  2156.         
  2157.         virtual HRESULT STDMETHODCALLTYPE GetConnectionBandwidth( 
  2158.             /* [out] */ DWORD *pdwConnectionBandwidth) = 0;
  2159.         
  2160.         virtual HRESULT STDMETHODCALLTYPE SetConnectionBandwidth( 
  2161.             /* [in] */ DWORD dwConnectionBandwidth) = 0;
  2162.         
  2163.         virtual HRESULT STDMETHODCALLTYPE GetNumProtocolsSupported( 
  2164.             /* [out] */ DWORD *pcProtocols) = 0;
  2165.         
  2166.         virtual HRESULT STDMETHODCALLTYPE GetSupportedProtocolName( 
  2167.             /* [in] */ DWORD dwProtocolNum,
  2168.             /* [size_is][out] */ WCHAR *pwszProtocolName,
  2169.             /* [out][in] */ DWORD *pcchProtocolName) = 0;
  2170.         
  2171.         virtual HRESULT STDMETHODCALLTYPE AddLoggingUrl( 
  2172.             /* [in] */ LPCWSTR pwszUrl) = 0;
  2173.         
  2174.         virtual HRESULT STDMETHODCALLTYPE GetLoggingUrl( 
  2175.             /* [in] */ DWORD dwIndex,
  2176.             /* [size_is][out] */ LPWSTR pwszUrl,
  2177.             /* [out][in] */ DWORD *pcchUrl) = 0;
  2178.         
  2179.         virtual HRESULT STDMETHODCALLTYPE GetLoggingUrlCount( 
  2180.             /* [out] */ DWORD *pdwUrlCount) = 0;
  2181.         
  2182.         virtual HRESULT STDMETHODCALLTYPE ResetLoggingUrlList( void) = 0;
  2183.         
  2184.     };
  2185.     
  2186. #else  /* C style interface */
  2187.     typedef struct IWMReaderNetworkConfigVtbl
  2188.     {
  2189.         BEGIN_INTERFACE
  2190.         
  2191.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2192.             IWMReaderNetworkConfig * This,
  2193.             /* [in] */ REFIID riid,
  2194.             /* [iid_is][out] */ void **ppvObject);
  2195.         
  2196.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2197.             IWMReaderNetworkConfig * This);
  2198.         
  2199.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2200.             IWMReaderNetworkConfig * This);
  2201.         
  2202.         HRESULT ( STDMETHODCALLTYPE *GetBufferingTime )( 
  2203.             IWMReaderNetworkConfig * This,
  2204.             /* [out] */ QWORD *pcnsBufferingTime);
  2205.         
  2206.         HRESULT ( STDMETHODCALLTYPE *SetBufferingTime )( 
  2207.             IWMReaderNetworkConfig * This,
  2208.             /* [in] */ QWORD cnsBufferingTime);
  2209.         
  2210.         HRESULT ( STDMETHODCALLTYPE *GetUDPPortRanges )( 
  2211.             IWMReaderNetworkConfig * This,
  2212.             /* [size_is][out] */ WM_PORT_NUMBER_RANGE *pRangeArray,
  2213.             /* [out][in] */ DWORD *pcRanges);
  2214.         
  2215.         HRESULT ( STDMETHODCALLTYPE *SetUDPPortRanges )( 
  2216.             IWMReaderNetworkConfig * This,
  2217.             /* [size_is][in] */ WM_PORT_NUMBER_RANGE *pRangeArray,
  2218.             /* [in] */ DWORD cRanges);
  2219.         
  2220.         HRESULT ( STDMETHODCALLTYPE *GetProxySettings )( 
  2221.             IWMReaderNetworkConfig * This,
  2222.             /* [in] */ LPCWSTR pwszProtocol,
  2223.             /* [out] */ WMT_PROXY_SETTINGS *pProxySetting);
  2224.         
  2225.         HRESULT ( STDMETHODCALLTYPE *SetProxySettings )( 
  2226.             IWMReaderNetworkConfig * This,
  2227.             /* [in] */ LPCWSTR pwszProtocol,
  2228.             /* [in] */ WMT_PROXY_SETTINGS ProxySetting);
  2229.         
  2230.         HRESULT ( STDMETHODCALLTYPE *GetProxyHostName )( 
  2231.             IWMReaderNetworkConfig * This,
  2232.             /* [in] */ LPCWSTR pwszProtocol,
  2233.             /* [size_is][out] */ WCHAR *pwszHostName,
  2234.             /* [out][in] */ DWORD *pcchHostName);
  2235.         
  2236.         HRESULT ( STDMETHODCALLTYPE *SetProxyHostName )( 
  2237.             IWMReaderNetworkConfig * This,
  2238.             /* [in] */ LPCWSTR pwszProtocol,
  2239.             /* [in] */ LPCWSTR pwszHostName);
  2240.         
  2241.         HRESULT ( STDMETHODCALLTYPE *GetProxyPort )( 
  2242.             IWMReaderNetworkConfig * This,
  2243.             /* [in] */ LPCWSTR pwszProtocol,
  2244.             /* [out] */ DWORD *pdwPort);
  2245.         
  2246.         HRESULT ( STDMETHODCALLTYPE *SetProxyPort )( 
  2247.             IWMReaderNetworkConfig * This,
  2248.             /* [in] */ LPCWSTR pwszProtocol,
  2249.             /* [in] */ DWORD dwPort);
  2250.         
  2251.         HRESULT ( STDMETHODCALLTYPE *GetProxyExceptionList )( 
  2252.             IWMReaderNetworkConfig * This,
  2253.             /* [in] */ LPCWSTR pwszProtocol,
  2254.             /* [size_is][out] */ WCHAR *pwszExceptionList,
  2255.             /* [out][in] */ DWORD *pcchExceptionList);
  2256.         
  2257.         HRESULT ( STDMETHODCALLTYPE *SetProxyExceptionList )( 
  2258.             IWMReaderNetworkConfig * This,
  2259.             /* [in] */ LPCWSTR pwszProtocol,
  2260.             /* [in] */ LPCWSTR pwszExceptionList);
  2261.         
  2262.         HRESULT ( STDMETHODCALLTYPE *GetProxyBypassForLocal )( 
  2263.             IWMReaderNetworkConfig * This,
  2264.             /* [in] */ LPCWSTR pwszProtocol,
  2265.             /* [out] */ BOOL *pfBypassForLocal);
  2266.         
  2267.         HRESULT ( STDMETHODCALLTYPE *SetProxyBypassForLocal )( 
  2268.             IWMReaderNetworkConfig * This,
  2269.             /* [in] */ LPCWSTR pwszProtocol,
  2270.             /* [in] */ BOOL fBypassForLocal);
  2271.         
  2272.         HRESULT ( STDMETHODCALLTYPE *GetForceRerunAutoProxyDetection )( 
  2273.             IWMReaderNetworkConfig * This,
  2274.             /* [out] */ BOOL *pfForceRerunDetection);
  2275.         
  2276.         HRESULT ( STDMETHODCALLTYPE *SetForceRerunAutoProxyDetection )( 
  2277.             IWMReaderNetworkConfig * This,
  2278.             /* [in] */ BOOL fForceRerunDetection);
  2279.         
  2280.         HRESULT ( STDMETHODCALLTYPE *GetEnableMulticast )( 
  2281.             IWMReaderNetworkConfig * This,
  2282.             /* [out] */ BOOL *pfEnableMulticast);
  2283.         
  2284.         HRESULT ( STDMETHODCALLTYPE *SetEnableMulticast )( 
  2285.             IWMReaderNetworkConfig * This,
  2286.             /* [in] */ BOOL fEnableMulticast);
  2287.         
  2288.         HRESULT ( STDMETHODCALLTYPE *GetEnableHTTP )( 
  2289.             IWMReaderNetworkConfig * This,
  2290.             /* [out] */ BOOL *pfEnableHTTP);
  2291.         
  2292.         HRESULT ( STDMETHODCALLTYPE *SetEnableHTTP )( 
  2293.             IWMReaderNetworkConfig * This,
  2294.             /* [in] */ BOOL fEnableHTTP);
  2295.         
  2296.         HRESULT ( STDMETHODCALLTYPE *GetEnableUDP )( 
  2297.             IWMReaderNetworkConfig * This,
  2298.             /* [out] */ BOOL *pfEnableUDP);
  2299.         
  2300.         HRESULT ( STDMETHODCALLTYPE *SetEnableUDP )( 
  2301.             IWMReaderNetworkConfig * This,
  2302.             /* [in] */ BOOL fEnableUDP);
  2303.         
  2304.         HRESULT ( STDMETHODCALLTYPE *GetEnableTCP )( 
  2305.             IWMReaderNetworkConfig * This,
  2306.             /* [out] */ BOOL *pfEnableTCP);
  2307.         
  2308.         HRESULT ( STDMETHODCALLTYPE *SetEnableTCP )( 
  2309.             IWMReaderNetworkConfig * This,
  2310.             /* [in] */ BOOL fEnableTCP);
  2311.         
  2312.         HRESULT ( STDMETHODCALLTYPE *ResetProtocolRollover )( 
  2313.             IWMReaderNetworkConfig * This);
  2314.         
  2315.         HRESULT ( STDMETHODCALLTYPE *GetConnectionBandwidth )( 
  2316.             IWMReaderNetworkConfig * This,
  2317.             /* [out] */ DWORD *pdwConnectionBandwidth);
  2318.         
  2319.         HRESULT ( STDMETHODCALLTYPE *SetConnectionBandwidth )( 
  2320.             IWMReaderNetworkConfig * This,
  2321.             /* [in] */ DWORD dwConnectionBandwidth);
  2322.         
  2323.         HRESULT ( STDMETHODCALLTYPE *GetNumProtocolsSupported )( 
  2324.             IWMReaderNetworkConfig * This,
  2325.             /* [out] */ DWORD *pcProtocols);
  2326.         
  2327.         HRESULT ( STDMETHODCALLTYPE *GetSupportedProtocolName )( 
  2328.             IWMReaderNetworkConfig * This,
  2329.             /* [in] */ DWORD dwProtocolNum,
  2330.             /* [size_is][out] */ WCHAR *pwszProtocolName,
  2331.             /* [out][in] */ DWORD *pcchProtocolName);
  2332.         
  2333.         HRESULT ( STDMETHODCALLTYPE *AddLoggingUrl )( 
  2334.             IWMReaderNetworkConfig * This,
  2335.             /* [in] */ LPCWSTR pwszUrl);
  2336.         
  2337.         HRESULT ( STDMETHODCALLTYPE *GetLoggingUrl )( 
  2338.             IWMReaderNetworkConfig * This,
  2339.             /* [in] */ DWORD dwIndex,
  2340.             /* [size_is][out] */ LPWSTR pwszUrl,
  2341.             /* [out][in] */ DWORD *pcchUrl);
  2342.         
  2343.         HRESULT ( STDMETHODCALLTYPE *GetLoggingUrlCount )( 
  2344.             IWMReaderNetworkConfig * This,
  2345.             /* [out] */ DWORD *pdwUrlCount);
  2346.         
  2347.         HRESULT ( STDMETHODCALLTYPE *ResetLoggingUrlList )( 
  2348.             IWMReaderNetworkConfig * This);
  2349.         
  2350.         END_INTERFACE
  2351.     } IWMReaderNetworkConfigVtbl;
  2352.     interface IWMReaderNetworkConfig
  2353.     {
  2354.         CONST_VTBL struct IWMReaderNetworkConfigVtbl *lpVtbl;
  2355.     };
  2356.     
  2357. #ifdef COBJMACROS
  2358. #define IWMReaderNetworkConfig_QueryInterface(This,riid,ppvObject)
  2359.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2360. #define IWMReaderNetworkConfig_AddRef(This)
  2361.     (This)->lpVtbl -> AddRef(This)
  2362. #define IWMReaderNetworkConfig_Release(This)
  2363.     (This)->lpVtbl -> Release(This)
  2364. #define IWMReaderNetworkConfig_GetBufferingTime(This,pcnsBufferingTime)
  2365.     (This)->lpVtbl -> GetBufferingTime(This,pcnsBufferingTime)
  2366. #define IWMReaderNetworkConfig_SetBufferingTime(This,cnsBufferingTime)
  2367.     (This)->lpVtbl -> SetBufferingTime(This,cnsBufferingTime)
  2368. #define IWMReaderNetworkConfig_GetUDPPortRanges(This,pRangeArray,pcRanges)
  2369.     (This)->lpVtbl -> GetUDPPortRanges(This,pRangeArray,pcRanges)
  2370. #define IWMReaderNetworkConfig_SetUDPPortRanges(This,pRangeArray,cRanges)
  2371.     (This)->lpVtbl -> SetUDPPortRanges(This,pRangeArray,cRanges)
  2372. #define IWMReaderNetworkConfig_GetProxySettings(This,pwszProtocol,pProxySetting)
  2373.     (This)->lpVtbl -> GetProxySettings(This,pwszProtocol,pProxySetting)
  2374. #define IWMReaderNetworkConfig_SetProxySettings(This,pwszProtocol,ProxySetting)
  2375.     (This)->lpVtbl -> SetProxySettings(This,pwszProtocol,ProxySetting)
  2376. #define IWMReaderNetworkConfig_GetProxyHostName(This,pwszProtocol,pwszHostName,pcchHostName)
  2377.     (This)->lpVtbl -> GetProxyHostName(This,pwszProtocol,pwszHostName,pcchHostName)
  2378. #define IWMReaderNetworkConfig_SetProxyHostName(This,pwszProtocol,pwszHostName)
  2379.     (This)->lpVtbl -> SetProxyHostName(This,pwszProtocol,pwszHostName)
  2380. #define IWMReaderNetworkConfig_GetProxyPort(This,pwszProtocol,pdwPort)
  2381.     (This)->lpVtbl -> GetProxyPort(This,pwszProtocol,pdwPort)
  2382. #define IWMReaderNetworkConfig_SetProxyPort(This,pwszProtocol,dwPort)
  2383.     (This)->lpVtbl -> SetProxyPort(This,pwszProtocol,dwPort)
  2384. #define IWMReaderNetworkConfig_GetProxyExceptionList(This,pwszProtocol,pwszExceptionList,pcchExceptionList)
  2385.     (This)->lpVtbl -> GetProxyExceptionList(This,pwszProtocol,pwszExceptionList,pcchExceptionList)
  2386. #define IWMReaderNetworkConfig_SetProxyExceptionList(This,pwszProtocol,pwszExceptionList)
  2387.     (This)->lpVtbl -> SetProxyExceptionList(This,pwszProtocol,pwszExceptionList)
  2388. #define IWMReaderNetworkConfig_GetProxyBypassForLocal(This,pwszProtocol,pfBypassForLocal)
  2389.     (This)->lpVtbl -> GetProxyBypassForLocal(This,pwszProtocol,pfBypassForLocal)
  2390. #define IWMReaderNetworkConfig_SetProxyBypassForLocal(This,pwszProtocol,fBypassForLocal)
  2391.     (This)->lpVtbl -> SetProxyBypassForLocal(This,pwszProtocol,fBypassForLocal)
  2392. #define IWMReaderNetworkConfig_GetForceRerunAutoProxyDetection(This,pfForceRerunDetection)
  2393.     (This)->lpVtbl -> GetForceRerunAutoProxyDetection(This,pfForceRerunDetection)
  2394. #define IWMReaderNetworkConfig_SetForceRerunAutoProxyDetection(This,fForceRerunDetection)
  2395.     (This)->lpVtbl -> SetForceRerunAutoProxyDetection(This,fForceRerunDetection)
  2396. #define IWMReaderNetworkConfig_GetEnableMulticast(This,pfEnableMulticast)
  2397.     (This)->lpVtbl -> GetEnableMulticast(This,pfEnableMulticast)
  2398. #define IWMReaderNetworkConfig_SetEnableMulticast(This,fEnableMulticast)
  2399.     (This)->lpVtbl -> SetEnableMulticast(This,fEnableMulticast)
  2400. #define IWMReaderNetworkConfig_GetEnableHTTP(This,pfEnableHTTP)
  2401.     (This)->lpVtbl -> GetEnableHTTP(This,pfEnableHTTP)
  2402. #define IWMReaderNetworkConfig_SetEnableHTTP(This,fEnableHTTP)
  2403.     (This)->lpVtbl -> SetEnableHTTP(This,fEnableHTTP)
  2404. #define IWMReaderNetworkConfig_GetEnableUDP(This,pfEnableUDP)
  2405.     (This)->lpVtbl -> GetEnableUDP(This,pfEnableUDP)
  2406. #define IWMReaderNetworkConfig_SetEnableUDP(This,fEnableUDP)
  2407.     (This)->lpVtbl -> SetEnableUDP(This,fEnableUDP)
  2408. #define IWMReaderNetworkConfig_GetEnableTCP(This,pfEnableTCP)
  2409.     (This)->lpVtbl -> GetEnableTCP(This,pfEnableTCP)
  2410. #define IWMReaderNetworkConfig_SetEnableTCP(This,fEnableTCP)
  2411.     (This)->lpVtbl -> SetEnableTCP(This,fEnableTCP)
  2412. #define IWMReaderNetworkConfig_ResetProtocolRollover(This)
  2413.     (This)->lpVtbl -> ResetProtocolRollover(This)
  2414. #define IWMReaderNetworkConfig_GetConnectionBandwidth(This,pdwConnectionBandwidth)
  2415.     (This)->lpVtbl -> GetConnectionBandwidth(This,pdwConnectionBandwidth)
  2416. #define IWMReaderNetworkConfig_SetConnectionBandwidth(This,dwConnectionBandwidth)
  2417.     (This)->lpVtbl -> SetConnectionBandwidth(This,dwConnectionBandwidth)
  2418. #define IWMReaderNetworkConfig_GetNumProtocolsSupported(This,pcProtocols)
  2419.     (This)->lpVtbl -> GetNumProtocolsSupported(This,pcProtocols)
  2420. #define IWMReaderNetworkConfig_GetSupportedProtocolName(This,dwProtocolNum,pwszProtocolName,pcchProtocolName)
  2421.     (This)->lpVtbl -> GetSupportedProtocolName(This,dwProtocolNum,pwszProtocolName,pcchProtocolName)
  2422. #define IWMReaderNetworkConfig_AddLoggingUrl(This,pwszUrl)
  2423.     (This)->lpVtbl -> AddLoggingUrl(This,pwszUrl)
  2424. #define IWMReaderNetworkConfig_GetLoggingUrl(This,dwIndex,pwszUrl,pcchUrl)
  2425.     (This)->lpVtbl -> GetLoggingUrl(This,dwIndex,pwszUrl,pcchUrl)
  2426. #define IWMReaderNetworkConfig_GetLoggingUrlCount(This,pdwUrlCount)
  2427.     (This)->lpVtbl -> GetLoggingUrlCount(This,pdwUrlCount)
  2428. #define IWMReaderNetworkConfig_ResetLoggingUrlList(This)
  2429.     (This)->lpVtbl -> ResetLoggingUrlList(This)
  2430. #endif /* COBJMACROS */
  2431. #endif  /* C style interface */
  2432. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetBufferingTime_Proxy( 
  2433.     IWMReaderNetworkConfig * This,
  2434.     /* [out] */ QWORD *pcnsBufferingTime);
  2435. void __RPC_STUB IWMReaderNetworkConfig_GetBufferingTime_Stub(
  2436.     IRpcStubBuffer *This,
  2437.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2438.     PRPC_MESSAGE _pRpcMessage,
  2439.     DWORD *_pdwStubPhase);
  2440. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetBufferingTime_Proxy( 
  2441.     IWMReaderNetworkConfig * This,
  2442.     /* [in] */ QWORD cnsBufferingTime);
  2443. void __RPC_STUB IWMReaderNetworkConfig_SetBufferingTime_Stub(
  2444.     IRpcStubBuffer *This,
  2445.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2446.     PRPC_MESSAGE _pRpcMessage,
  2447.     DWORD *_pdwStubPhase);
  2448. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetUDPPortRanges_Proxy( 
  2449.     IWMReaderNetworkConfig * This,
  2450.     /* [size_is][out] */ WM_PORT_NUMBER_RANGE *pRangeArray,
  2451.     /* [out][in] */ DWORD *pcRanges);
  2452. void __RPC_STUB IWMReaderNetworkConfig_GetUDPPortRanges_Stub(
  2453.     IRpcStubBuffer *This,
  2454.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2455.     PRPC_MESSAGE _pRpcMessage,
  2456.     DWORD *_pdwStubPhase);
  2457. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetUDPPortRanges_Proxy( 
  2458.     IWMReaderNetworkConfig * This,
  2459.     /* [size_is][in] */ WM_PORT_NUMBER_RANGE *pRangeArray,
  2460.     /* [in] */ DWORD cRanges);
  2461. void __RPC_STUB IWMReaderNetworkConfig_SetUDPPortRanges_Stub(
  2462.     IRpcStubBuffer *This,
  2463.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2464.     PRPC_MESSAGE _pRpcMessage,
  2465.     DWORD *_pdwStubPhase);
  2466. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetProxySettings_Proxy( 
  2467.     IWMReaderNetworkConfig * This,
  2468.     /* [in] */ LPCWSTR pwszProtocol,
  2469.     /* [out] */ WMT_PROXY_SETTINGS *pProxySetting);
  2470. void __RPC_STUB IWMReaderNetworkConfig_GetProxySettings_Stub(
  2471.     IRpcStubBuffer *This,
  2472.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2473.     PRPC_MESSAGE _pRpcMessage,
  2474.     DWORD *_pdwStubPhase);
  2475. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetProxySettings_Proxy( 
  2476.     IWMReaderNetworkConfig * This,
  2477.     /* [in] */ LPCWSTR pwszProtocol,
  2478.     /* [in] */ WMT_PROXY_SETTINGS ProxySetting);
  2479. void __RPC_STUB IWMReaderNetworkConfig_SetProxySettings_Stub(
  2480.     IRpcStubBuffer *This,
  2481.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2482.     PRPC_MESSAGE _pRpcMessage,
  2483.     DWORD *_pdwStubPhase);
  2484. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetProxyHostName_Proxy( 
  2485.     IWMReaderNetworkConfig * This,
  2486.     /* [in] */ LPCWSTR pwszProtocol,
  2487.     /* [size_is][out] */ WCHAR *pwszHostName,
  2488.     /* [out][in] */ DWORD *pcchHostName);
  2489. void __RPC_STUB IWMReaderNetworkConfig_GetProxyHostName_Stub(
  2490.     IRpcStubBuffer *This,
  2491.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2492.     PRPC_MESSAGE _pRpcMessage,
  2493.     DWORD *_pdwStubPhase);
  2494. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetProxyHostName_Proxy( 
  2495.     IWMReaderNetworkConfig * This,
  2496.     /* [in] */ LPCWSTR pwszProtocol,
  2497.     /* [in] */ LPCWSTR pwszHostName);
  2498. void __RPC_STUB IWMReaderNetworkConfig_SetProxyHostName_Stub(
  2499.     IRpcStubBuffer *This,
  2500.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2501.     PRPC_MESSAGE _pRpcMessage,
  2502.     DWORD *_pdwStubPhase);
  2503. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetProxyPort_Proxy( 
  2504.     IWMReaderNetworkConfig * This,
  2505.     /* [in] */ LPCWSTR pwszProtocol,
  2506.     /* [out] */ DWORD *pdwPort);
  2507. void __RPC_STUB IWMReaderNetworkConfig_GetProxyPort_Stub(
  2508.     IRpcStubBuffer *This,
  2509.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2510.     PRPC_MESSAGE _pRpcMessage,
  2511.     DWORD *_pdwStubPhase);
  2512. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetProxyPort_Proxy( 
  2513.     IWMReaderNetworkConfig * This,
  2514.     /* [in] */ LPCWSTR pwszProtocol,
  2515.     /* [in] */ DWORD dwPort);
  2516. void __RPC_STUB IWMReaderNetworkConfig_SetProxyPort_Stub(
  2517.     IRpcStubBuffer *This,
  2518.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2519.     PRPC_MESSAGE _pRpcMessage,
  2520.     DWORD *_pdwStubPhase);
  2521. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetProxyExceptionList_Proxy( 
  2522.     IWMReaderNetworkConfig * This,
  2523.     /* [in] */ LPCWSTR pwszProtocol,
  2524.     /* [size_is][out] */ WCHAR *pwszExceptionList,
  2525.     /* [out][in] */ DWORD *pcchExceptionList);
  2526. void __RPC_STUB IWMReaderNetworkConfig_GetProxyExceptionList_Stub(
  2527.     IRpcStubBuffer *This,
  2528.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2529.     PRPC_MESSAGE _pRpcMessage,
  2530.     DWORD *_pdwStubPhase);
  2531. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetProxyExceptionList_Proxy( 
  2532.     IWMReaderNetworkConfig * This,
  2533.     /* [in] */ LPCWSTR pwszProtocol,
  2534.     /* [in] */ LPCWSTR pwszExceptionList);
  2535. void __RPC_STUB IWMReaderNetworkConfig_SetProxyExceptionList_Stub(
  2536.     IRpcStubBuffer *This,
  2537.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2538.     PRPC_MESSAGE _pRpcMessage,
  2539.     DWORD *_pdwStubPhase);
  2540. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetProxyBypassForLocal_Proxy( 
  2541.     IWMReaderNetworkConfig * This,
  2542.     /* [in] */ LPCWSTR pwszProtocol,
  2543.     /* [out] */ BOOL *pfBypassForLocal);
  2544. void __RPC_STUB IWMReaderNetworkConfig_GetProxyBypassForLocal_Stub(
  2545.     IRpcStubBuffer *This,
  2546.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2547.     PRPC_MESSAGE _pRpcMessage,
  2548.     DWORD *_pdwStubPhase);
  2549. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetProxyBypassForLocal_Proxy( 
  2550.     IWMReaderNetworkConfig * This,
  2551.     /* [in] */ LPCWSTR pwszProtocol,
  2552.     /* [in] */ BOOL fBypassForLocal);
  2553. void __RPC_STUB IWMReaderNetworkConfig_SetProxyBypassForLocal_Stub(
  2554.     IRpcStubBuffer *This,
  2555.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2556.     PRPC_MESSAGE _pRpcMessage,
  2557.     DWORD *_pdwStubPhase);
  2558. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetForceRerunAutoProxyDetection_Proxy( 
  2559.     IWMReaderNetworkConfig * This,
  2560.     /* [out] */ BOOL *pfForceRerunDetection);
  2561. void __RPC_STUB IWMReaderNetworkConfig_GetForceRerunAutoProxyDetection_Stub(
  2562.     IRpcStubBuffer *This,
  2563.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2564.     PRPC_MESSAGE _pRpcMessage,
  2565.     DWORD *_pdwStubPhase);
  2566. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetForceRerunAutoProxyDetection_Proxy( 
  2567.     IWMReaderNetworkConfig * This,
  2568.     /* [in] */ BOOL fForceRerunDetection);
  2569. void __RPC_STUB IWMReaderNetworkConfig_SetForceRerunAutoProxyDetection_Stub(
  2570.     IRpcStubBuffer *This,
  2571.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2572.     PRPC_MESSAGE _pRpcMessage,
  2573.     DWORD *_pdwStubPhase);
  2574. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetEnableMulticast_Proxy( 
  2575.     IWMReaderNetworkConfig * This,
  2576.     /* [out] */ BOOL *pfEnableMulticast);
  2577. void __RPC_STUB IWMReaderNetworkConfig_GetEnableMulticast_Stub(
  2578.     IRpcStubBuffer *This,
  2579.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2580.     PRPC_MESSAGE _pRpcMessage,
  2581.     DWORD *_pdwStubPhase);
  2582. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetEnableMulticast_Proxy( 
  2583.     IWMReaderNetworkConfig * This,
  2584.     /* [in] */ BOOL fEnableMulticast);
  2585. void __RPC_STUB IWMReaderNetworkConfig_SetEnableMulticast_Stub(
  2586.     IRpcStubBuffer *This,
  2587.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2588.     PRPC_MESSAGE _pRpcMessage,
  2589.     DWORD *_pdwStubPhase);
  2590. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetEnableHTTP_Proxy( 
  2591.     IWMReaderNetworkConfig * This,
  2592.     /* [out] */ BOOL *pfEnableHTTP);
  2593. void __RPC_STUB IWMReaderNetworkConfig_GetEnableHTTP_Stub(
  2594.     IRpcStubBuffer *This,
  2595.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2596.     PRPC_MESSAGE _pRpcMessage,
  2597.     DWORD *_pdwStubPhase);
  2598. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetEnableHTTP_Proxy( 
  2599.     IWMReaderNetworkConfig * This,
  2600.     /* [in] */ BOOL fEnableHTTP);
  2601. void __RPC_STUB IWMReaderNetworkConfig_SetEnableHTTP_Stub(
  2602.     IRpcStubBuffer *This,
  2603.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2604.     PRPC_MESSAGE _pRpcMessage,
  2605.     DWORD *_pdwStubPhase);
  2606. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_GetEnableUDP_Proxy( 
  2607.     IWMReaderNetworkConfig * This,
  2608.     /* [out] */ BOOL *pfEnableUDP);
  2609. void __RPC_STUB IWMReaderNetworkConfig_GetEnableUDP_Stub(
  2610.     IRpcStubBuffer *This,
  2611.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2612.     PRPC_MESSAGE _pRpcMessage,
  2613.     DWORD *_pdwStubPhase);
  2614. HRESULT STDMETHODCALLTYPE IWMReaderNetworkConfig_SetEnableUDP_Proxy(