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

Delphi控件源码

开发平台:

Delphi

  1.             /* [in] */ REFIID riid,
  2.             /* [iid_is][out] */ void **ppvObject);
  3.         
  4.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  5.             IWMProfileManager2 * This);
  6.         
  7.         ULONG ( STDMETHODCALLTYPE *Release )( 
  8.             IWMProfileManager2 * This);
  9.         
  10.         HRESULT ( STDMETHODCALLTYPE *CreateEmptyProfile )( 
  11.             IWMProfileManager2 * This,
  12.             /* [in] */ WMT_VERSION dwVersion,
  13.             /* [out] */ IWMProfile **ppProfile);
  14.         
  15.         HRESULT ( STDMETHODCALLTYPE *LoadProfileByID )( 
  16.             IWMProfileManager2 * This,
  17.             /* [in] */ REFGUID guidProfile,
  18.             /* [out] */ IWMProfile **ppProfile);
  19.         
  20.         HRESULT ( STDMETHODCALLTYPE *LoadProfileByData )( 
  21.             IWMProfileManager2 * This,
  22.             /* [in] */ const WCHAR *pwszProfile,
  23.             /* [out] */ IWMProfile **ppProfile);
  24.         
  25.         HRESULT ( STDMETHODCALLTYPE *SaveProfile )( 
  26.             IWMProfileManager2 * This,
  27.             /* [in] */ IWMProfile *pIWMProfile,
  28.             /* [in] */ WCHAR *pwszProfile,
  29.             /* [out][in] */ DWORD *pdwLength);
  30.         
  31.         HRESULT ( STDMETHODCALLTYPE *GetSystemProfileCount )( 
  32.             IWMProfileManager2 * This,
  33.             /* [out] */ DWORD *pcProfiles);
  34.         
  35.         HRESULT ( STDMETHODCALLTYPE *LoadSystemProfile )( 
  36.             IWMProfileManager2 * This,
  37.             /* [in] */ DWORD dwProfileIndex,
  38.             /* [out] */ IWMProfile **ppProfile);
  39.         
  40.         HRESULT ( STDMETHODCALLTYPE *GetSystemProfileVersion )( 
  41.             IWMProfileManager2 * This,
  42.             WMT_VERSION *pdwVersion);
  43.         
  44.         HRESULT ( STDMETHODCALLTYPE *SetSystemProfileVersion )( 
  45.             IWMProfileManager2 * This,
  46.             WMT_VERSION dwVersion);
  47.         
  48.         END_INTERFACE
  49.     } IWMProfileManager2Vtbl;
  50.     interface IWMProfileManager2
  51.     {
  52.         CONST_VTBL struct IWMProfileManager2Vtbl *lpVtbl;
  53.     };
  54.     
  55. #ifdef COBJMACROS
  56. #define IWMProfileManager2_QueryInterface(This,riid,ppvObject)
  57.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  58. #define IWMProfileManager2_AddRef(This)
  59.     (This)->lpVtbl -> AddRef(This)
  60. #define IWMProfileManager2_Release(This)
  61.     (This)->lpVtbl -> Release(This)
  62. #define IWMProfileManager2_CreateEmptyProfile(This,dwVersion,ppProfile)
  63.     (This)->lpVtbl -> CreateEmptyProfile(This,dwVersion,ppProfile)
  64. #define IWMProfileManager2_LoadProfileByID(This,guidProfile,ppProfile)
  65.     (This)->lpVtbl -> LoadProfileByID(This,guidProfile,ppProfile)
  66. #define IWMProfileManager2_LoadProfileByData(This,pwszProfile,ppProfile)
  67.     (This)->lpVtbl -> LoadProfileByData(This,pwszProfile,ppProfile)
  68. #define IWMProfileManager2_SaveProfile(This,pIWMProfile,pwszProfile,pdwLength)
  69.     (This)->lpVtbl -> SaveProfile(This,pIWMProfile,pwszProfile,pdwLength)
  70. #define IWMProfileManager2_GetSystemProfileCount(This,pcProfiles)
  71.     (This)->lpVtbl -> GetSystemProfileCount(This,pcProfiles)
  72. #define IWMProfileManager2_LoadSystemProfile(This,dwProfileIndex,ppProfile)
  73.     (This)->lpVtbl -> LoadSystemProfile(This,dwProfileIndex,ppProfile)
  74. #define IWMProfileManager2_GetSystemProfileVersion(This,pdwVersion)
  75.     (This)->lpVtbl -> GetSystemProfileVersion(This,pdwVersion)
  76. #define IWMProfileManager2_SetSystemProfileVersion(This,dwVersion)
  77.     (This)->lpVtbl -> SetSystemProfileVersion(This,dwVersion)
  78. #endif /* COBJMACROS */
  79. #endif  /* C style interface */
  80. HRESULT STDMETHODCALLTYPE IWMProfileManager2_GetSystemProfileVersion_Proxy( 
  81.     IWMProfileManager2 * This,
  82.     WMT_VERSION *pdwVersion);
  83. void __RPC_STUB IWMProfileManager2_GetSystemProfileVersion_Stub(
  84.     IRpcStubBuffer *This,
  85.     IRpcChannelBuffer *_pRpcChannelBuffer,
  86.     PRPC_MESSAGE _pRpcMessage,
  87.     DWORD *_pdwStubPhase);
  88. HRESULT STDMETHODCALLTYPE IWMProfileManager2_SetSystemProfileVersion_Proxy( 
  89.     IWMProfileManager2 * This,
  90.     WMT_VERSION dwVersion);
  91. void __RPC_STUB IWMProfileManager2_SetSystemProfileVersion_Stub(
  92.     IRpcStubBuffer *This,
  93.     IRpcChannelBuffer *_pRpcChannelBuffer,
  94.     PRPC_MESSAGE _pRpcMessage,
  95.     DWORD *_pdwStubPhase);
  96. #endif  /* __IWMProfileManager2_INTERFACE_DEFINED__ */
  97. #ifndef __IWMProfileManagerLanguage_INTERFACE_DEFINED__
  98. #define __IWMProfileManagerLanguage_INTERFACE_DEFINED__
  99. /* interface IWMProfileManagerLanguage */
  100. /* [local][unique][helpstring][uuid][object] */ 
  101. EXTERN_C const IID IID_IWMProfileManagerLanguage;
  102. #if defined(__cplusplus) && !defined(CINTERFACE)
  103.     
  104.     MIDL_INTERFACE("BA4DCC78-7EE0-4ab8-B27A-DBCE8BC51454")
  105.     IWMProfileManagerLanguage : public IUnknown
  106.     {
  107.     public:
  108.         virtual HRESULT STDMETHODCALLTYPE GetUserLanguageID( 
  109.             WORD *wLangID) = 0;
  110.         
  111.         virtual HRESULT STDMETHODCALLTYPE SetUserLanguageID( 
  112.             WORD wLangID) = 0;
  113.         
  114.     };
  115.     
  116. #else  /* C style interface */
  117.     typedef struct IWMProfileManagerLanguageVtbl
  118.     {
  119.         BEGIN_INTERFACE
  120.         
  121.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  122.             IWMProfileManagerLanguage * This,
  123.             /* [in] */ REFIID riid,
  124.             /* [iid_is][out] */ void **ppvObject);
  125.         
  126.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  127.             IWMProfileManagerLanguage * This);
  128.         
  129.         ULONG ( STDMETHODCALLTYPE *Release )( 
  130.             IWMProfileManagerLanguage * This);
  131.         
  132.         HRESULT ( STDMETHODCALLTYPE *GetUserLanguageID )( 
  133.             IWMProfileManagerLanguage * This,
  134.             WORD *wLangID);
  135.         
  136.         HRESULT ( STDMETHODCALLTYPE *SetUserLanguageID )( 
  137.             IWMProfileManagerLanguage * This,
  138.             WORD wLangID);
  139.         
  140.         END_INTERFACE
  141.     } IWMProfileManagerLanguageVtbl;
  142.     interface IWMProfileManagerLanguage
  143.     {
  144.         CONST_VTBL struct IWMProfileManagerLanguageVtbl *lpVtbl;
  145.     };
  146.     
  147. #ifdef COBJMACROS
  148. #define IWMProfileManagerLanguage_QueryInterface(This,riid,ppvObject)
  149.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  150. #define IWMProfileManagerLanguage_AddRef(This)
  151.     (This)->lpVtbl -> AddRef(This)
  152. #define IWMProfileManagerLanguage_Release(This)
  153.     (This)->lpVtbl -> Release(This)
  154. #define IWMProfileManagerLanguage_GetUserLanguageID(This,wLangID)
  155.     (This)->lpVtbl -> GetUserLanguageID(This,wLangID)
  156. #define IWMProfileManagerLanguage_SetUserLanguageID(This,wLangID)
  157.     (This)->lpVtbl -> SetUserLanguageID(This,wLangID)
  158. #endif /* COBJMACROS */
  159. #endif  /* C style interface */
  160. HRESULT STDMETHODCALLTYPE IWMProfileManagerLanguage_GetUserLanguageID_Proxy( 
  161.     IWMProfileManagerLanguage * This,
  162.     WORD *wLangID);
  163. void __RPC_STUB IWMProfileManagerLanguage_GetUserLanguageID_Stub(
  164.     IRpcStubBuffer *This,
  165.     IRpcChannelBuffer *_pRpcChannelBuffer,
  166.     PRPC_MESSAGE _pRpcMessage,
  167.     DWORD *_pdwStubPhase);
  168. HRESULT STDMETHODCALLTYPE IWMProfileManagerLanguage_SetUserLanguageID_Proxy( 
  169.     IWMProfileManagerLanguage * This,
  170.     WORD wLangID);
  171. void __RPC_STUB IWMProfileManagerLanguage_SetUserLanguageID_Stub(
  172.     IRpcStubBuffer *This,
  173.     IRpcChannelBuffer *_pRpcChannelBuffer,
  174.     PRPC_MESSAGE _pRpcMessage,
  175.     DWORD *_pdwStubPhase);
  176. #endif  /* __IWMProfileManagerLanguage_INTERFACE_DEFINED__ */
  177. #ifndef __IWMProfile_INTERFACE_DEFINED__
  178. #define __IWMProfile_INTERFACE_DEFINED__
  179. /* interface IWMProfile */
  180. /* [local][unique][helpstring][uuid][object] */ 
  181. EXTERN_C const IID IID_IWMProfile;
  182. #if defined(__cplusplus) && !defined(CINTERFACE)
  183.     
  184.     MIDL_INTERFACE("96406BDB-2B2B-11d3-B36B-00C04F6108FF")
  185.     IWMProfile : public IUnknown
  186.     {
  187.     public:
  188.         virtual HRESULT STDMETHODCALLTYPE GetVersion( 
  189.             /* [out] */ WMT_VERSION *pdwVersion) = 0;
  190.         
  191.         virtual HRESULT STDMETHODCALLTYPE GetName( 
  192.             /* [size_is][out] */ WCHAR *pwszName,
  193.             /* [out][in] */ DWORD *pcchName) = 0;
  194.         
  195.         virtual HRESULT STDMETHODCALLTYPE SetName( 
  196.             /* [in] */ const WCHAR *pwszName) = 0;
  197.         
  198.         virtual HRESULT STDMETHODCALLTYPE GetDescription( 
  199.             /* [size_is][out] */ WCHAR *pwszDescription,
  200.             /* [out][in] */ DWORD *pcchDescription) = 0;
  201.         
  202.         virtual HRESULT STDMETHODCALLTYPE SetDescription( 
  203.             /* [in] */ const WCHAR *pwszDescription) = 0;
  204.         
  205.         virtual HRESULT STDMETHODCALLTYPE GetStreamCount( 
  206.             /* [out] */ DWORD *pcStreams) = 0;
  207.         
  208.         virtual HRESULT STDMETHODCALLTYPE GetStream( 
  209.             /* [in] */ DWORD dwStreamIndex,
  210.             /* [out] */ IWMStreamConfig **ppConfig) = 0;
  211.         
  212.         virtual HRESULT STDMETHODCALLTYPE GetStreamByNumber( 
  213.             /* [in] */ WORD wStreamNum,
  214.             /* [out] */ IWMStreamConfig **ppConfig) = 0;
  215.         
  216.         virtual HRESULT STDMETHODCALLTYPE RemoveStream( 
  217.             /* [in] */ IWMStreamConfig *pConfig) = 0;
  218.         
  219.         virtual HRESULT STDMETHODCALLTYPE RemoveStreamByNumber( 
  220.             /* [in] */ WORD wStreamNum) = 0;
  221.         
  222.         virtual HRESULT STDMETHODCALLTYPE AddStream( 
  223.             /* [in] */ IWMStreamConfig *pConfig) = 0;
  224.         
  225.         virtual HRESULT STDMETHODCALLTYPE ReconfigStream( 
  226.             /* [in] */ IWMStreamConfig *pConfig) = 0;
  227.         
  228.         virtual HRESULT STDMETHODCALLTYPE CreateNewStream( 
  229.             /* [in] */ REFGUID guidStreamType,
  230.             /* [out] */ IWMStreamConfig **ppConfig) = 0;
  231.         
  232.         virtual HRESULT STDMETHODCALLTYPE GetMutualExclusionCount( 
  233.             /* [out] */ DWORD *pcME) = 0;
  234.         
  235.         virtual HRESULT STDMETHODCALLTYPE GetMutualExclusion( 
  236.             /* [in] */ DWORD dwMEIndex,
  237.             /* [out] */ IWMMutualExclusion **ppME) = 0;
  238.         
  239.         virtual HRESULT STDMETHODCALLTYPE RemoveMutualExclusion( 
  240.             /* [in] */ IWMMutualExclusion *pME) = 0;
  241.         
  242.         virtual HRESULT STDMETHODCALLTYPE AddMutualExclusion( 
  243.             /* [in] */ IWMMutualExclusion *pME) = 0;
  244.         
  245.         virtual HRESULT STDMETHODCALLTYPE CreateNewMutualExclusion( 
  246.             /* [out] */ IWMMutualExclusion **ppME) = 0;
  247.         
  248.     };
  249.     
  250. #else  /* C style interface */
  251.     typedef struct IWMProfileVtbl
  252.     {
  253.         BEGIN_INTERFACE
  254.         
  255.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  256.             IWMProfile * This,
  257.             /* [in] */ REFIID riid,
  258.             /* [iid_is][out] */ void **ppvObject);
  259.         
  260.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  261.             IWMProfile * This);
  262.         
  263.         ULONG ( STDMETHODCALLTYPE *Release )( 
  264.             IWMProfile * This);
  265.         
  266.         HRESULT ( STDMETHODCALLTYPE *GetVersion )( 
  267.             IWMProfile * This,
  268.             /* [out] */ WMT_VERSION *pdwVersion);
  269.         
  270.         HRESULT ( STDMETHODCALLTYPE *GetName )( 
  271.             IWMProfile * This,
  272.             /* [size_is][out] */ WCHAR *pwszName,
  273.             /* [out][in] */ DWORD *pcchName);
  274.         
  275.         HRESULT ( STDMETHODCALLTYPE *SetName )( 
  276.             IWMProfile * This,
  277.             /* [in] */ const WCHAR *pwszName);
  278.         
  279.         HRESULT ( STDMETHODCALLTYPE *GetDescription )( 
  280.             IWMProfile * This,
  281.             /* [size_is][out] */ WCHAR *pwszDescription,
  282.             /* [out][in] */ DWORD *pcchDescription);
  283.         
  284.         HRESULT ( STDMETHODCALLTYPE *SetDescription )( 
  285.             IWMProfile * This,
  286.             /* [in] */ const WCHAR *pwszDescription);
  287.         
  288.         HRESULT ( STDMETHODCALLTYPE *GetStreamCount )( 
  289.             IWMProfile * This,
  290.             /* [out] */ DWORD *pcStreams);
  291.         
  292.         HRESULT ( STDMETHODCALLTYPE *GetStream )( 
  293.             IWMProfile * This,
  294.             /* [in] */ DWORD dwStreamIndex,
  295.             /* [out] */ IWMStreamConfig **ppConfig);
  296.         
  297.         HRESULT ( STDMETHODCALLTYPE *GetStreamByNumber )( 
  298.             IWMProfile * This,
  299.             /* [in] */ WORD wStreamNum,
  300.             /* [out] */ IWMStreamConfig **ppConfig);
  301.         
  302.         HRESULT ( STDMETHODCALLTYPE *RemoveStream )( 
  303.             IWMProfile * This,
  304.             /* [in] */ IWMStreamConfig *pConfig);
  305.         
  306.         HRESULT ( STDMETHODCALLTYPE *RemoveStreamByNumber )( 
  307.             IWMProfile * This,
  308.             /* [in] */ WORD wStreamNum);
  309.         
  310.         HRESULT ( STDMETHODCALLTYPE *AddStream )( 
  311.             IWMProfile * This,
  312.             /* [in] */ IWMStreamConfig *pConfig);
  313.         
  314.         HRESULT ( STDMETHODCALLTYPE *ReconfigStream )( 
  315.             IWMProfile * This,
  316.             /* [in] */ IWMStreamConfig *pConfig);
  317.         
  318.         HRESULT ( STDMETHODCALLTYPE *CreateNewStream )( 
  319.             IWMProfile * This,
  320.             /* [in] */ REFGUID guidStreamType,
  321.             /* [out] */ IWMStreamConfig **ppConfig);
  322.         
  323.         HRESULT ( STDMETHODCALLTYPE *GetMutualExclusionCount )( 
  324.             IWMProfile * This,
  325.             /* [out] */ DWORD *pcME);
  326.         
  327.         HRESULT ( STDMETHODCALLTYPE *GetMutualExclusion )( 
  328.             IWMProfile * This,
  329.             /* [in] */ DWORD dwMEIndex,
  330.             /* [out] */ IWMMutualExclusion **ppME);
  331.         
  332.         HRESULT ( STDMETHODCALLTYPE *RemoveMutualExclusion )( 
  333.             IWMProfile * This,
  334.             /* [in] */ IWMMutualExclusion *pME);
  335.         
  336.         HRESULT ( STDMETHODCALLTYPE *AddMutualExclusion )( 
  337.             IWMProfile * This,
  338.             /* [in] */ IWMMutualExclusion *pME);
  339.         
  340.         HRESULT ( STDMETHODCALLTYPE *CreateNewMutualExclusion )( 
  341.             IWMProfile * This,
  342.             /* [out] */ IWMMutualExclusion **ppME);
  343.         
  344.         END_INTERFACE
  345.     } IWMProfileVtbl;
  346.     interface IWMProfile
  347.     {
  348.         CONST_VTBL struct IWMProfileVtbl *lpVtbl;
  349.     };
  350.     
  351. #ifdef COBJMACROS
  352. #define IWMProfile_QueryInterface(This,riid,ppvObject)
  353.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  354. #define IWMProfile_AddRef(This)
  355.     (This)->lpVtbl -> AddRef(This)
  356. #define IWMProfile_Release(This)
  357.     (This)->lpVtbl -> Release(This)
  358. #define IWMProfile_GetVersion(This,pdwVersion)
  359.     (This)->lpVtbl -> GetVersion(This,pdwVersion)
  360. #define IWMProfile_GetName(This,pwszName,pcchName)
  361.     (This)->lpVtbl -> GetName(This,pwszName,pcchName)
  362. #define IWMProfile_SetName(This,pwszName)
  363.     (This)->lpVtbl -> SetName(This,pwszName)
  364. #define IWMProfile_GetDescription(This,pwszDescription,pcchDescription)
  365.     (This)->lpVtbl -> GetDescription(This,pwszDescription,pcchDescription)
  366. #define IWMProfile_SetDescription(This,pwszDescription)
  367.     (This)->lpVtbl -> SetDescription(This,pwszDescription)
  368. #define IWMProfile_GetStreamCount(This,pcStreams)
  369.     (This)->lpVtbl -> GetStreamCount(This,pcStreams)
  370. #define IWMProfile_GetStream(This,dwStreamIndex,ppConfig)
  371.     (This)->lpVtbl -> GetStream(This,dwStreamIndex,ppConfig)
  372. #define IWMProfile_GetStreamByNumber(This,wStreamNum,ppConfig)
  373.     (This)->lpVtbl -> GetStreamByNumber(This,wStreamNum,ppConfig)
  374. #define IWMProfile_RemoveStream(This,pConfig)
  375.     (This)->lpVtbl -> RemoveStream(This,pConfig)
  376. #define IWMProfile_RemoveStreamByNumber(This,wStreamNum)
  377.     (This)->lpVtbl -> RemoveStreamByNumber(This,wStreamNum)
  378. #define IWMProfile_AddStream(This,pConfig)
  379.     (This)->lpVtbl -> AddStream(This,pConfig)
  380. #define IWMProfile_ReconfigStream(This,pConfig)
  381.     (This)->lpVtbl -> ReconfigStream(This,pConfig)
  382. #define IWMProfile_CreateNewStream(This,guidStreamType,ppConfig)
  383.     (This)->lpVtbl -> CreateNewStream(This,guidStreamType,ppConfig)
  384. #define IWMProfile_GetMutualExclusionCount(This,pcME)
  385.     (This)->lpVtbl -> GetMutualExclusionCount(This,pcME)
  386. #define IWMProfile_GetMutualExclusion(This,dwMEIndex,ppME)
  387.     (This)->lpVtbl -> GetMutualExclusion(This,dwMEIndex,ppME)
  388. #define IWMProfile_RemoveMutualExclusion(This,pME)
  389.     (This)->lpVtbl -> RemoveMutualExclusion(This,pME)
  390. #define IWMProfile_AddMutualExclusion(This,pME)
  391.     (This)->lpVtbl -> AddMutualExclusion(This,pME)
  392. #define IWMProfile_CreateNewMutualExclusion(This,ppME)
  393.     (This)->lpVtbl -> CreateNewMutualExclusion(This,ppME)
  394. #endif /* COBJMACROS */
  395. #endif  /* C style interface */
  396. HRESULT STDMETHODCALLTYPE IWMProfile_GetVersion_Proxy( 
  397.     IWMProfile * This,
  398.     /* [out] */ WMT_VERSION *pdwVersion);
  399. void __RPC_STUB IWMProfile_GetVersion_Stub(
  400.     IRpcStubBuffer *This,
  401.     IRpcChannelBuffer *_pRpcChannelBuffer,
  402.     PRPC_MESSAGE _pRpcMessage,
  403.     DWORD *_pdwStubPhase);
  404. HRESULT STDMETHODCALLTYPE IWMProfile_GetName_Proxy( 
  405.     IWMProfile * This,
  406.     /* [size_is][out] */ WCHAR *pwszName,
  407.     /* [out][in] */ DWORD *pcchName);
  408. void __RPC_STUB IWMProfile_GetName_Stub(
  409.     IRpcStubBuffer *This,
  410.     IRpcChannelBuffer *_pRpcChannelBuffer,
  411.     PRPC_MESSAGE _pRpcMessage,
  412.     DWORD *_pdwStubPhase);
  413. HRESULT STDMETHODCALLTYPE IWMProfile_SetName_Proxy( 
  414.     IWMProfile * This,
  415.     /* [in] */ const WCHAR *pwszName);
  416. void __RPC_STUB IWMProfile_SetName_Stub(
  417.     IRpcStubBuffer *This,
  418.     IRpcChannelBuffer *_pRpcChannelBuffer,
  419.     PRPC_MESSAGE _pRpcMessage,
  420.     DWORD *_pdwStubPhase);
  421. HRESULT STDMETHODCALLTYPE IWMProfile_GetDescription_Proxy( 
  422.     IWMProfile * This,
  423.     /* [size_is][out] */ WCHAR *pwszDescription,
  424.     /* [out][in] */ DWORD *pcchDescription);
  425. void __RPC_STUB IWMProfile_GetDescription_Stub(
  426.     IRpcStubBuffer *This,
  427.     IRpcChannelBuffer *_pRpcChannelBuffer,
  428.     PRPC_MESSAGE _pRpcMessage,
  429.     DWORD *_pdwStubPhase);
  430. HRESULT STDMETHODCALLTYPE IWMProfile_SetDescription_Proxy( 
  431.     IWMProfile * This,
  432.     /* [in] */ const WCHAR *pwszDescription);
  433. void __RPC_STUB IWMProfile_SetDescription_Stub(
  434.     IRpcStubBuffer *This,
  435.     IRpcChannelBuffer *_pRpcChannelBuffer,
  436.     PRPC_MESSAGE _pRpcMessage,
  437.     DWORD *_pdwStubPhase);
  438. HRESULT STDMETHODCALLTYPE IWMProfile_GetStreamCount_Proxy( 
  439.     IWMProfile * This,
  440.     /* [out] */ DWORD *pcStreams);
  441. void __RPC_STUB IWMProfile_GetStreamCount_Stub(
  442.     IRpcStubBuffer *This,
  443.     IRpcChannelBuffer *_pRpcChannelBuffer,
  444.     PRPC_MESSAGE _pRpcMessage,
  445.     DWORD *_pdwStubPhase);
  446. HRESULT STDMETHODCALLTYPE IWMProfile_GetStream_Proxy( 
  447.     IWMProfile * This,
  448.     /* [in] */ DWORD dwStreamIndex,
  449.     /* [out] */ IWMStreamConfig **ppConfig);
  450. void __RPC_STUB IWMProfile_GetStream_Stub(
  451.     IRpcStubBuffer *This,
  452.     IRpcChannelBuffer *_pRpcChannelBuffer,
  453.     PRPC_MESSAGE _pRpcMessage,
  454.     DWORD *_pdwStubPhase);
  455. HRESULT STDMETHODCALLTYPE IWMProfile_GetStreamByNumber_Proxy( 
  456.     IWMProfile * This,
  457.     /* [in] */ WORD wStreamNum,
  458.     /* [out] */ IWMStreamConfig **ppConfig);
  459. void __RPC_STUB IWMProfile_GetStreamByNumber_Stub(
  460.     IRpcStubBuffer *This,
  461.     IRpcChannelBuffer *_pRpcChannelBuffer,
  462.     PRPC_MESSAGE _pRpcMessage,
  463.     DWORD *_pdwStubPhase);
  464. HRESULT STDMETHODCALLTYPE IWMProfile_RemoveStream_Proxy( 
  465.     IWMProfile * This,
  466.     /* [in] */ IWMStreamConfig *pConfig);
  467. void __RPC_STUB IWMProfile_RemoveStream_Stub(
  468.     IRpcStubBuffer *This,
  469.     IRpcChannelBuffer *_pRpcChannelBuffer,
  470.     PRPC_MESSAGE _pRpcMessage,
  471.     DWORD *_pdwStubPhase);
  472. HRESULT STDMETHODCALLTYPE IWMProfile_RemoveStreamByNumber_Proxy( 
  473.     IWMProfile * This,
  474.     /* [in] */ WORD wStreamNum);
  475. void __RPC_STUB IWMProfile_RemoveStreamByNumber_Stub(
  476.     IRpcStubBuffer *This,
  477.     IRpcChannelBuffer *_pRpcChannelBuffer,
  478.     PRPC_MESSAGE _pRpcMessage,
  479.     DWORD *_pdwStubPhase);
  480. HRESULT STDMETHODCALLTYPE IWMProfile_AddStream_Proxy( 
  481.     IWMProfile * This,
  482.     /* [in] */ IWMStreamConfig *pConfig);
  483. void __RPC_STUB IWMProfile_AddStream_Stub(
  484.     IRpcStubBuffer *This,
  485.     IRpcChannelBuffer *_pRpcChannelBuffer,
  486.     PRPC_MESSAGE _pRpcMessage,
  487.     DWORD *_pdwStubPhase);
  488. HRESULT STDMETHODCALLTYPE IWMProfile_ReconfigStream_Proxy( 
  489.     IWMProfile * This,
  490.     /* [in] */ IWMStreamConfig *pConfig);
  491. void __RPC_STUB IWMProfile_ReconfigStream_Stub(
  492.     IRpcStubBuffer *This,
  493.     IRpcChannelBuffer *_pRpcChannelBuffer,
  494.     PRPC_MESSAGE _pRpcMessage,
  495.     DWORD *_pdwStubPhase);
  496. HRESULT STDMETHODCALLTYPE IWMProfile_CreateNewStream_Proxy( 
  497.     IWMProfile * This,
  498.     /* [in] */ REFGUID guidStreamType,
  499.     /* [out] */ IWMStreamConfig **ppConfig);
  500. void __RPC_STUB IWMProfile_CreateNewStream_Stub(
  501.     IRpcStubBuffer *This,
  502.     IRpcChannelBuffer *_pRpcChannelBuffer,
  503.     PRPC_MESSAGE _pRpcMessage,
  504.     DWORD *_pdwStubPhase);
  505. HRESULT STDMETHODCALLTYPE IWMProfile_GetMutualExclusionCount_Proxy( 
  506.     IWMProfile * This,
  507.     /* [out] */ DWORD *pcME);
  508. void __RPC_STUB IWMProfile_GetMutualExclusionCount_Stub(
  509.     IRpcStubBuffer *This,
  510.     IRpcChannelBuffer *_pRpcChannelBuffer,
  511.     PRPC_MESSAGE _pRpcMessage,
  512.     DWORD *_pdwStubPhase);
  513. HRESULT STDMETHODCALLTYPE IWMProfile_GetMutualExclusion_Proxy( 
  514.     IWMProfile * This,
  515.     /* [in] */ DWORD dwMEIndex,
  516.     /* [out] */ IWMMutualExclusion **ppME);
  517. void __RPC_STUB IWMProfile_GetMutualExclusion_Stub(
  518.     IRpcStubBuffer *This,
  519.     IRpcChannelBuffer *_pRpcChannelBuffer,
  520.     PRPC_MESSAGE _pRpcMessage,
  521.     DWORD *_pdwStubPhase);
  522. HRESULT STDMETHODCALLTYPE IWMProfile_RemoveMutualExclusion_Proxy( 
  523.     IWMProfile * This,
  524.     /* [in] */ IWMMutualExclusion *pME);
  525. void __RPC_STUB IWMProfile_RemoveMutualExclusion_Stub(
  526.     IRpcStubBuffer *This,
  527.     IRpcChannelBuffer *_pRpcChannelBuffer,
  528.     PRPC_MESSAGE _pRpcMessage,
  529.     DWORD *_pdwStubPhase);
  530. HRESULT STDMETHODCALLTYPE IWMProfile_AddMutualExclusion_Proxy( 
  531.     IWMProfile * This,
  532.     /* [in] */ IWMMutualExclusion *pME);
  533. void __RPC_STUB IWMProfile_AddMutualExclusion_Stub(
  534.     IRpcStubBuffer *This,
  535.     IRpcChannelBuffer *_pRpcChannelBuffer,
  536.     PRPC_MESSAGE _pRpcMessage,
  537.     DWORD *_pdwStubPhase);
  538. HRESULT STDMETHODCALLTYPE IWMProfile_CreateNewMutualExclusion_Proxy( 
  539.     IWMProfile * This,
  540.     /* [out] */ IWMMutualExclusion **ppME);
  541. void __RPC_STUB IWMProfile_CreateNewMutualExclusion_Stub(
  542.     IRpcStubBuffer *This,
  543.     IRpcChannelBuffer *_pRpcChannelBuffer,
  544.     PRPC_MESSAGE _pRpcMessage,
  545.     DWORD *_pdwStubPhase);
  546. #endif  /* __IWMProfile_INTERFACE_DEFINED__ */
  547. #ifndef __IWMProfile2_INTERFACE_DEFINED__
  548. #define __IWMProfile2_INTERFACE_DEFINED__
  549. /* interface IWMProfile2 */
  550. /* [local][unique][helpstring][uuid][object] */ 
  551. EXTERN_C const IID IID_IWMProfile2;
  552. #if defined(__cplusplus) && !defined(CINTERFACE)
  553.     
  554.     MIDL_INTERFACE("07E72D33-D94E-4be7-8843-60AE5FF7E5F5")
  555.     IWMProfile2 : public IWMProfile
  556.     {
  557.     public:
  558.         virtual HRESULT STDMETHODCALLTYPE GetProfileID( 
  559.             /* [out] */ GUID *pguidID) = 0;
  560.         
  561.     };
  562.     
  563. #else  /* C style interface */
  564.     typedef struct IWMProfile2Vtbl
  565.     {
  566.         BEGIN_INTERFACE
  567.         
  568.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  569.             IWMProfile2 * This,
  570.             /* [in] */ REFIID riid,
  571.             /* [iid_is][out] */ void **ppvObject);
  572.         
  573.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  574.             IWMProfile2 * This);
  575.         
  576.         ULONG ( STDMETHODCALLTYPE *Release )( 
  577.             IWMProfile2 * This);
  578.         
  579.         HRESULT ( STDMETHODCALLTYPE *GetVersion )( 
  580.             IWMProfile2 * This,
  581.             /* [out] */ WMT_VERSION *pdwVersion);
  582.         
  583.         HRESULT ( STDMETHODCALLTYPE *GetName )( 
  584.             IWMProfile2 * This,
  585.             /* [size_is][out] */ WCHAR *pwszName,
  586.             /* [out][in] */ DWORD *pcchName);
  587.         
  588.         HRESULT ( STDMETHODCALLTYPE *SetName )( 
  589.             IWMProfile2 * This,
  590.             /* [in] */ const WCHAR *pwszName);
  591.         
  592.         HRESULT ( STDMETHODCALLTYPE *GetDescription )( 
  593.             IWMProfile2 * This,
  594.             /* [size_is][out] */ WCHAR *pwszDescription,
  595.             /* [out][in] */ DWORD *pcchDescription);
  596.         
  597.         HRESULT ( STDMETHODCALLTYPE *SetDescription )( 
  598.             IWMProfile2 * This,
  599.             /* [in] */ const WCHAR *pwszDescription);
  600.         
  601.         HRESULT ( STDMETHODCALLTYPE *GetStreamCount )( 
  602.             IWMProfile2 * This,
  603.             /* [out] */ DWORD *pcStreams);
  604.         
  605.         HRESULT ( STDMETHODCALLTYPE *GetStream )( 
  606.             IWMProfile2 * This,
  607.             /* [in] */ DWORD dwStreamIndex,
  608.             /* [out] */ IWMStreamConfig **ppConfig);
  609.         
  610.         HRESULT ( STDMETHODCALLTYPE *GetStreamByNumber )( 
  611.             IWMProfile2 * This,
  612.             /* [in] */ WORD wStreamNum,
  613.             /* [out] */ IWMStreamConfig **ppConfig);
  614.         
  615.         HRESULT ( STDMETHODCALLTYPE *RemoveStream )( 
  616.             IWMProfile2 * This,
  617.             /* [in] */ IWMStreamConfig *pConfig);
  618.         
  619.         HRESULT ( STDMETHODCALLTYPE *RemoveStreamByNumber )( 
  620.             IWMProfile2 * This,
  621.             /* [in] */ WORD wStreamNum);
  622.         
  623.         HRESULT ( STDMETHODCALLTYPE *AddStream )( 
  624.             IWMProfile2 * This,
  625.             /* [in] */ IWMStreamConfig *pConfig);
  626.         
  627.         HRESULT ( STDMETHODCALLTYPE *ReconfigStream )( 
  628.             IWMProfile2 * This,
  629.             /* [in] */ IWMStreamConfig *pConfig);
  630.         
  631.         HRESULT ( STDMETHODCALLTYPE *CreateNewStream )( 
  632.             IWMProfile2 * This,
  633.             /* [in] */ REFGUID guidStreamType,
  634.             /* [out] */ IWMStreamConfig **ppConfig);
  635.         
  636.         HRESULT ( STDMETHODCALLTYPE *GetMutualExclusionCount )( 
  637.             IWMProfile2 * This,
  638.             /* [out] */ DWORD *pcME);
  639.         
  640.         HRESULT ( STDMETHODCALLTYPE *GetMutualExclusion )( 
  641.             IWMProfile2 * This,
  642.             /* [in] */ DWORD dwMEIndex,
  643.             /* [out] */ IWMMutualExclusion **ppME);
  644.         
  645.         HRESULT ( STDMETHODCALLTYPE *RemoveMutualExclusion )( 
  646.             IWMProfile2 * This,
  647.             /* [in] */ IWMMutualExclusion *pME);
  648.         
  649.         HRESULT ( STDMETHODCALLTYPE *AddMutualExclusion )( 
  650.             IWMProfile2 * This,
  651.             /* [in] */ IWMMutualExclusion *pME);
  652.         
  653.         HRESULT ( STDMETHODCALLTYPE *CreateNewMutualExclusion )( 
  654.             IWMProfile2 * This,
  655.             /* [out] */ IWMMutualExclusion **ppME);
  656.         
  657.         HRESULT ( STDMETHODCALLTYPE *GetProfileID )( 
  658.             IWMProfile2 * This,
  659.             /* [out] */ GUID *pguidID);
  660.         
  661.         END_INTERFACE
  662.     } IWMProfile2Vtbl;
  663.     interface IWMProfile2
  664.     {
  665.         CONST_VTBL struct IWMProfile2Vtbl *lpVtbl;
  666.     };
  667.     
  668. #ifdef COBJMACROS
  669. #define IWMProfile2_QueryInterface(This,riid,ppvObject)
  670.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  671. #define IWMProfile2_AddRef(This)
  672.     (This)->lpVtbl -> AddRef(This)
  673. #define IWMProfile2_Release(This)
  674.     (This)->lpVtbl -> Release(This)
  675. #define IWMProfile2_GetVersion(This,pdwVersion)
  676.     (This)->lpVtbl -> GetVersion(This,pdwVersion)
  677. #define IWMProfile2_GetName(This,pwszName,pcchName)
  678.     (This)->lpVtbl -> GetName(This,pwszName,pcchName)
  679. #define IWMProfile2_SetName(This,pwszName)
  680.     (This)->lpVtbl -> SetName(This,pwszName)
  681. #define IWMProfile2_GetDescription(This,pwszDescription,pcchDescription)
  682.     (This)->lpVtbl -> GetDescription(This,pwszDescription,pcchDescription)
  683. #define IWMProfile2_SetDescription(This,pwszDescription)
  684.     (This)->lpVtbl -> SetDescription(This,pwszDescription)
  685. #define IWMProfile2_GetStreamCount(This,pcStreams)
  686.     (This)->lpVtbl -> GetStreamCount(This,pcStreams)
  687. #define IWMProfile2_GetStream(This,dwStreamIndex,ppConfig)
  688.     (This)->lpVtbl -> GetStream(This,dwStreamIndex,ppConfig)
  689. #define IWMProfile2_GetStreamByNumber(This,wStreamNum,ppConfig)
  690.     (This)->lpVtbl -> GetStreamByNumber(This,wStreamNum,ppConfig)
  691. #define IWMProfile2_RemoveStream(This,pConfig)
  692.     (This)->lpVtbl -> RemoveStream(This,pConfig)
  693. #define IWMProfile2_RemoveStreamByNumber(This,wStreamNum)
  694.     (This)->lpVtbl -> RemoveStreamByNumber(This,wStreamNum)
  695. #define IWMProfile2_AddStream(This,pConfig)
  696.     (This)->lpVtbl -> AddStream(This,pConfig)
  697. #define IWMProfile2_ReconfigStream(This,pConfig)
  698.     (This)->lpVtbl -> ReconfigStream(This,pConfig)
  699. #define IWMProfile2_CreateNewStream(This,guidStreamType,ppConfig)
  700.     (This)->lpVtbl -> CreateNewStream(This,guidStreamType,ppConfig)
  701. #define IWMProfile2_GetMutualExclusionCount(This,pcME)
  702.     (This)->lpVtbl -> GetMutualExclusionCount(This,pcME)
  703. #define IWMProfile2_GetMutualExclusion(This,dwMEIndex,ppME)
  704.     (This)->lpVtbl -> GetMutualExclusion(This,dwMEIndex,ppME)
  705. #define IWMProfile2_RemoveMutualExclusion(This,pME)
  706.     (This)->lpVtbl -> RemoveMutualExclusion(This,pME)
  707. #define IWMProfile2_AddMutualExclusion(This,pME)
  708.     (This)->lpVtbl -> AddMutualExclusion(This,pME)
  709. #define IWMProfile2_CreateNewMutualExclusion(This,ppME)
  710.     (This)->lpVtbl -> CreateNewMutualExclusion(This,ppME)
  711. #define IWMProfile2_GetProfileID(This,pguidID)
  712.     (This)->lpVtbl -> GetProfileID(This,pguidID)
  713. #endif /* COBJMACROS */
  714. #endif  /* C style interface */
  715. HRESULT STDMETHODCALLTYPE IWMProfile2_GetProfileID_Proxy( 
  716.     IWMProfile2 * This,
  717.     /* [out] */ GUID *pguidID);
  718. void __RPC_STUB IWMProfile2_GetProfileID_Stub(
  719.     IRpcStubBuffer *This,
  720.     IRpcChannelBuffer *_pRpcChannelBuffer,
  721.     PRPC_MESSAGE _pRpcMessage,
  722.     DWORD *_pdwStubPhase);
  723. #endif  /* __IWMProfile2_INTERFACE_DEFINED__ */
  724. #ifndef __IWMProfile3_INTERFACE_DEFINED__
  725. #define __IWMProfile3_INTERFACE_DEFINED__
  726. /* interface IWMProfile3 */
  727. /* [local][unique][helpstring][uuid][object] */ 
  728. EXTERN_C const IID IID_IWMProfile3;
  729. #if defined(__cplusplus) && !defined(CINTERFACE)
  730.     
  731.     MIDL_INTERFACE("00EF96CC-A461-4546-8BCD-C9A28F0E06F5")
  732.     IWMProfile3 : public IWMProfile2
  733.     {
  734.     public:
  735.         virtual HRESULT STDMETHODCALLTYPE GetStorageFormat( 
  736.             /* [out] */ WMT_STORAGE_FORMAT *pnStorageFormat) = 0;
  737.         
  738.         virtual HRESULT STDMETHODCALLTYPE SetStorageFormat( 
  739.             /* [in] */ WMT_STORAGE_FORMAT nStorageFormat) = 0;
  740.         
  741.         virtual HRESULT STDMETHODCALLTYPE GetBandwidthSharingCount( 
  742.             /* [out] */ DWORD *pcBS) = 0;
  743.         
  744.         virtual HRESULT STDMETHODCALLTYPE GetBandwidthSharing( 
  745.             /* [in] */ DWORD dwBSIndex,
  746.             /* [out] */ IWMBandwidthSharing **ppBS) = 0;
  747.         
  748.         virtual HRESULT STDMETHODCALLTYPE RemoveBandwidthSharing( 
  749.             /* [in] */ IWMBandwidthSharing *pBS) = 0;
  750.         
  751.         virtual HRESULT STDMETHODCALLTYPE AddBandwidthSharing( 
  752.             /* [in] */ IWMBandwidthSharing *pBS) = 0;
  753.         
  754.         virtual HRESULT STDMETHODCALLTYPE CreateNewBandwidthSharing( 
  755.             /* [out] */ IWMBandwidthSharing **ppBS) = 0;
  756.         
  757.         virtual HRESULT STDMETHODCALLTYPE GetStreamPrioritization( 
  758.             /* [out] */ IWMStreamPrioritization **ppSP) = 0;
  759.         
  760.         virtual HRESULT STDMETHODCALLTYPE SetStreamPrioritization( 
  761.             /* [in] */ IWMStreamPrioritization *pSP) = 0;
  762.         
  763.         virtual HRESULT STDMETHODCALLTYPE RemoveStreamPrioritization( void) = 0;
  764.         
  765.         virtual HRESULT STDMETHODCALLTYPE CreateNewStreamPrioritization( 
  766.             /* [out] */ IWMStreamPrioritization **ppSP) = 0;
  767.         
  768.         virtual HRESULT STDMETHODCALLTYPE GetExpectedPacketCount( 
  769.             /* [in] */ QWORD msDuration,
  770.             /* [out] */ QWORD *pcPackets) = 0;
  771.         
  772.     };
  773.     
  774. #else  /* C style interface */
  775.     typedef struct IWMProfile3Vtbl
  776.     {
  777.         BEGIN_INTERFACE
  778.         
  779.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  780.             IWMProfile3 * This,
  781.             /* [in] */ REFIID riid,
  782.             /* [iid_is][out] */ void **ppvObject);
  783.         
  784.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  785.             IWMProfile3 * This);
  786.         
  787.         ULONG ( STDMETHODCALLTYPE *Release )( 
  788.             IWMProfile3 * This);
  789.         
  790.         HRESULT ( STDMETHODCALLTYPE *GetVersion )( 
  791.             IWMProfile3 * This,
  792.             /* [out] */ WMT_VERSION *pdwVersion);
  793.         
  794.         HRESULT ( STDMETHODCALLTYPE *GetName )( 
  795.             IWMProfile3 * This,
  796.             /* [size_is][out] */ WCHAR *pwszName,
  797.             /* [out][in] */ DWORD *pcchName);
  798.         
  799.         HRESULT ( STDMETHODCALLTYPE *SetName )( 
  800.             IWMProfile3 * This,
  801.             /* [in] */ const WCHAR *pwszName);
  802.         
  803.         HRESULT ( STDMETHODCALLTYPE *GetDescription )( 
  804.             IWMProfile3 * This,
  805.             /* [size_is][out] */ WCHAR *pwszDescription,
  806.             /* [out][in] */ DWORD *pcchDescription);
  807.         
  808.         HRESULT ( STDMETHODCALLTYPE *SetDescription )( 
  809.             IWMProfile3 * This,
  810.             /* [in] */ const WCHAR *pwszDescription);
  811.         
  812.         HRESULT ( STDMETHODCALLTYPE *GetStreamCount )( 
  813.             IWMProfile3 * This,
  814.             /* [out] */ DWORD *pcStreams);
  815.         
  816.         HRESULT ( STDMETHODCALLTYPE *GetStream )( 
  817.             IWMProfile3 * This,
  818.             /* [in] */ DWORD dwStreamIndex,
  819.             /* [out] */ IWMStreamConfig **ppConfig);
  820.         
  821.         HRESULT ( STDMETHODCALLTYPE *GetStreamByNumber )( 
  822.             IWMProfile3 * This,
  823.             /* [in] */ WORD wStreamNum,
  824.             /* [out] */ IWMStreamConfig **ppConfig);
  825.         
  826.         HRESULT ( STDMETHODCALLTYPE *RemoveStream )( 
  827.             IWMProfile3 * This,
  828.             /* [in] */ IWMStreamConfig *pConfig);
  829.         
  830.         HRESULT ( STDMETHODCALLTYPE *RemoveStreamByNumber )( 
  831.             IWMProfile3 * This,
  832.             /* [in] */ WORD wStreamNum);
  833.         
  834.         HRESULT ( STDMETHODCALLTYPE *AddStream )( 
  835.             IWMProfile3 * This,
  836.             /* [in] */ IWMStreamConfig *pConfig);
  837.         
  838.         HRESULT ( STDMETHODCALLTYPE *ReconfigStream )( 
  839.             IWMProfile3 * This,
  840.             /* [in] */ IWMStreamConfig *pConfig);
  841.         
  842.         HRESULT ( STDMETHODCALLTYPE *CreateNewStream )( 
  843.             IWMProfile3 * This,
  844.             /* [in] */ REFGUID guidStreamType,
  845.             /* [out] */ IWMStreamConfig **ppConfig);
  846.         
  847.         HRESULT ( STDMETHODCALLTYPE *GetMutualExclusionCount )( 
  848.             IWMProfile3 * This,
  849.             /* [out] */ DWORD *pcME);
  850.         
  851.         HRESULT ( STDMETHODCALLTYPE *GetMutualExclusion )( 
  852.             IWMProfile3 * This,
  853.             /* [in] */ DWORD dwMEIndex,
  854.             /* [out] */ IWMMutualExclusion **ppME);
  855.         
  856.         HRESULT ( STDMETHODCALLTYPE *RemoveMutualExclusion )( 
  857.             IWMProfile3 * This,
  858.             /* [in] */ IWMMutualExclusion *pME);
  859.         
  860.         HRESULT ( STDMETHODCALLTYPE *AddMutualExclusion )( 
  861.             IWMProfile3 * This,
  862.             /* [in] */ IWMMutualExclusion *pME);
  863.         
  864.         HRESULT ( STDMETHODCALLTYPE *CreateNewMutualExclusion )( 
  865.             IWMProfile3 * This,
  866.             /* [out] */ IWMMutualExclusion **ppME);
  867.         
  868.         HRESULT ( STDMETHODCALLTYPE *GetProfileID )( 
  869.             IWMProfile3 * This,
  870.             /* [out] */ GUID *pguidID);
  871.         
  872.         HRESULT ( STDMETHODCALLTYPE *GetStorageFormat )( 
  873.             IWMProfile3 * This,
  874.             /* [out] */ WMT_STORAGE_FORMAT *pnStorageFormat);
  875.         
  876.         HRESULT ( STDMETHODCALLTYPE *SetStorageFormat )( 
  877.             IWMProfile3 * This,
  878.             /* [in] */ WMT_STORAGE_FORMAT nStorageFormat);
  879.         
  880.         HRESULT ( STDMETHODCALLTYPE *GetBandwidthSharingCount )( 
  881.             IWMProfile3 * This,
  882.             /* [out] */ DWORD *pcBS);
  883.         
  884.         HRESULT ( STDMETHODCALLTYPE *GetBandwidthSharing )( 
  885.             IWMProfile3 * This,
  886.             /* [in] */ DWORD dwBSIndex,
  887.             /* [out] */ IWMBandwidthSharing **ppBS);
  888.         
  889.         HRESULT ( STDMETHODCALLTYPE *RemoveBandwidthSharing )( 
  890.             IWMProfile3 * This,
  891.             /* [in] */ IWMBandwidthSharing *pBS);
  892.         
  893.         HRESULT ( STDMETHODCALLTYPE *AddBandwidthSharing )( 
  894.             IWMProfile3 * This,
  895.             /* [in] */ IWMBandwidthSharing *pBS);
  896.         
  897.         HRESULT ( STDMETHODCALLTYPE *CreateNewBandwidthSharing )( 
  898.             IWMProfile3 * This,
  899.             /* [out] */ IWMBandwidthSharing **ppBS);
  900.         
  901.         HRESULT ( STDMETHODCALLTYPE *GetStreamPrioritization )( 
  902.             IWMProfile3 * This,
  903.             /* [out] */ IWMStreamPrioritization **ppSP);
  904.         
  905.         HRESULT ( STDMETHODCALLTYPE *SetStreamPrioritization )( 
  906.             IWMProfile3 * This,
  907.             /* [in] */ IWMStreamPrioritization *pSP);
  908.         
  909.         HRESULT ( STDMETHODCALLTYPE *RemoveStreamPrioritization )( 
  910.             IWMProfile3 * This);
  911.         
  912.         HRESULT ( STDMETHODCALLTYPE *CreateNewStreamPrioritization )( 
  913.             IWMProfile3 * This,
  914.             /* [out] */ IWMStreamPrioritization **ppSP);
  915.         
  916.         HRESULT ( STDMETHODCALLTYPE *GetExpectedPacketCount )( 
  917.             IWMProfile3 * This,
  918.             /* [in] */ QWORD msDuration,
  919.             /* [out] */ QWORD *pcPackets);
  920.         
  921.         END_INTERFACE
  922.     } IWMProfile3Vtbl;
  923.     interface IWMProfile3
  924.     {
  925.         CONST_VTBL struct IWMProfile3Vtbl *lpVtbl;
  926.     };
  927.     
  928. #ifdef COBJMACROS
  929. #define IWMProfile3_QueryInterface(This,riid,ppvObject)
  930.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  931. #define IWMProfile3_AddRef(This)
  932.     (This)->lpVtbl -> AddRef(This)
  933. #define IWMProfile3_Release(This)
  934.     (This)->lpVtbl -> Release(This)
  935. #define IWMProfile3_GetVersion(This,pdwVersion)
  936.     (This)->lpVtbl -> GetVersion(This,pdwVersion)
  937. #define IWMProfile3_GetName(This,pwszName,pcchName)
  938.     (This)->lpVtbl -> GetName(This,pwszName,pcchName)
  939. #define IWMProfile3_SetName(This,pwszName)
  940.     (This)->lpVtbl -> SetName(This,pwszName)
  941. #define IWMProfile3_GetDescription(This,pwszDescription,pcchDescription)
  942.     (This)->lpVtbl -> GetDescription(This,pwszDescription,pcchDescription)
  943. #define IWMProfile3_SetDescription(This,pwszDescription)
  944.     (This)->lpVtbl -> SetDescription(This,pwszDescription)
  945. #define IWMProfile3_GetStreamCount(This,pcStreams)
  946.     (This)->lpVtbl -> GetStreamCount(This,pcStreams)
  947. #define IWMProfile3_GetStream(This,dwStreamIndex,ppConfig)
  948.     (This)->lpVtbl -> GetStream(This,dwStreamIndex,ppConfig)
  949. #define IWMProfile3_GetStreamByNumber(This,wStreamNum,ppConfig)
  950.     (This)->lpVtbl -> GetStreamByNumber(This,wStreamNum,ppConfig)
  951. #define IWMProfile3_RemoveStream(This,pConfig)
  952.     (This)->lpVtbl -> RemoveStream(This,pConfig)
  953. #define IWMProfile3_RemoveStreamByNumber(This,wStreamNum)
  954.     (This)->lpVtbl -> RemoveStreamByNumber(This,wStreamNum)
  955. #define IWMProfile3_AddStream(This,pConfig)
  956.     (This)->lpVtbl -> AddStream(This,pConfig)
  957. #define IWMProfile3_ReconfigStream(This,pConfig)
  958.     (This)->lpVtbl -> ReconfigStream(This,pConfig)
  959. #define IWMProfile3_CreateNewStream(This,guidStreamType,ppConfig)
  960.     (This)->lpVtbl -> CreateNewStream(This,guidStreamType,ppConfig)
  961. #define IWMProfile3_GetMutualExclusionCount(This,pcME)
  962.     (This)->lpVtbl -> GetMutualExclusionCount(This,pcME)
  963. #define IWMProfile3_GetMutualExclusion(This,dwMEIndex,ppME)
  964.     (This)->lpVtbl -> GetMutualExclusion(This,dwMEIndex,ppME)
  965. #define IWMProfile3_RemoveMutualExclusion(This,pME)
  966.     (This)->lpVtbl -> RemoveMutualExclusion(This,pME)
  967. #define IWMProfile3_AddMutualExclusion(This,pME)
  968.     (This)->lpVtbl -> AddMutualExclusion(This,pME)
  969. #define IWMProfile3_CreateNewMutualExclusion(This,ppME)
  970.     (This)->lpVtbl -> CreateNewMutualExclusion(This,ppME)
  971. #define IWMProfile3_GetProfileID(This,pguidID)
  972.     (This)->lpVtbl -> GetProfileID(This,pguidID)
  973. #define IWMProfile3_GetStorageFormat(This,pnStorageFormat)
  974.     (This)->lpVtbl -> GetStorageFormat(This,pnStorageFormat)
  975. #define IWMProfile3_SetStorageFormat(This,nStorageFormat)
  976.     (This)->lpVtbl -> SetStorageFormat(This,nStorageFormat)
  977. #define IWMProfile3_GetBandwidthSharingCount(This,pcBS)
  978.     (This)->lpVtbl -> GetBandwidthSharingCount(This,pcBS)
  979. #define IWMProfile3_GetBandwidthSharing(This,dwBSIndex,ppBS)
  980.     (This)->lpVtbl -> GetBandwidthSharing(This,dwBSIndex,ppBS)
  981. #define IWMProfile3_RemoveBandwidthSharing(This,pBS)
  982.     (This)->lpVtbl -> RemoveBandwidthSharing(This,pBS)
  983. #define IWMProfile3_AddBandwidthSharing(This,pBS)
  984.     (This)->lpVtbl -> AddBandwidthSharing(This,pBS)
  985. #define IWMProfile3_CreateNewBandwidthSharing(This,ppBS)
  986.     (This)->lpVtbl -> CreateNewBandwidthSharing(This,ppBS)
  987. #define IWMProfile3_GetStreamPrioritization(This,ppSP)
  988.     (This)->lpVtbl -> GetStreamPrioritization(This,ppSP)
  989. #define IWMProfile3_SetStreamPrioritization(This,pSP)
  990.     (This)->lpVtbl -> SetStreamPrioritization(This,pSP)
  991. #define IWMProfile3_RemoveStreamPrioritization(This)
  992.     (This)->lpVtbl -> RemoveStreamPrioritization(This)
  993. #define IWMProfile3_CreateNewStreamPrioritization(This,ppSP)
  994.     (This)->lpVtbl -> CreateNewStreamPrioritization(This,ppSP)
  995. #define IWMProfile3_GetExpectedPacketCount(This,msDuration,pcPackets)
  996.     (This)->lpVtbl -> GetExpectedPacketCount(This,msDuration,pcPackets)
  997. #endif /* COBJMACROS */
  998. #endif  /* C style interface */
  999. HRESULT STDMETHODCALLTYPE IWMProfile3_GetStorageFormat_Proxy( 
  1000.     IWMProfile3 * This,
  1001.     /* [out] */ WMT_STORAGE_FORMAT *pnStorageFormat);
  1002. void __RPC_STUB IWMProfile3_GetStorageFormat_Stub(
  1003.     IRpcStubBuffer *This,
  1004.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1005.     PRPC_MESSAGE _pRpcMessage,
  1006.     DWORD *_pdwStubPhase);
  1007. HRESULT STDMETHODCALLTYPE IWMProfile3_SetStorageFormat_Proxy( 
  1008.     IWMProfile3 * This,
  1009.     /* [in] */ WMT_STORAGE_FORMAT nStorageFormat);
  1010. void __RPC_STUB IWMProfile3_SetStorageFormat_Stub(
  1011.     IRpcStubBuffer *This,
  1012.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1013.     PRPC_MESSAGE _pRpcMessage,
  1014.     DWORD *_pdwStubPhase);
  1015. HRESULT STDMETHODCALLTYPE IWMProfile3_GetBandwidthSharingCount_Proxy( 
  1016.     IWMProfile3 * This,
  1017.     /* [out] */ DWORD *pcBS);
  1018. void __RPC_STUB IWMProfile3_GetBandwidthSharingCount_Stub(
  1019.     IRpcStubBuffer *This,
  1020.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1021.     PRPC_MESSAGE _pRpcMessage,
  1022.     DWORD *_pdwStubPhase);
  1023. HRESULT STDMETHODCALLTYPE IWMProfile3_GetBandwidthSharing_Proxy( 
  1024.     IWMProfile3 * This,
  1025.     /* [in] */ DWORD dwBSIndex,
  1026.     /* [out] */ IWMBandwidthSharing **ppBS);
  1027. void __RPC_STUB IWMProfile3_GetBandwidthSharing_Stub(
  1028.     IRpcStubBuffer *This,
  1029.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1030.     PRPC_MESSAGE _pRpcMessage,
  1031.     DWORD *_pdwStubPhase);
  1032. HRESULT STDMETHODCALLTYPE IWMProfile3_RemoveBandwidthSharing_Proxy( 
  1033.     IWMProfile3 * This,
  1034.     /* [in] */ IWMBandwidthSharing *pBS);
  1035. void __RPC_STUB IWMProfile3_RemoveBandwidthSharing_Stub(
  1036.     IRpcStubBuffer *This,
  1037.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1038.     PRPC_MESSAGE _pRpcMessage,
  1039.     DWORD *_pdwStubPhase);
  1040. HRESULT STDMETHODCALLTYPE IWMProfile3_AddBandwidthSharing_Proxy( 
  1041.     IWMProfile3 * This,
  1042.     /* [in] */ IWMBandwidthSharing *pBS);
  1043. void __RPC_STUB IWMProfile3_AddBandwidthSharing_Stub(
  1044.     IRpcStubBuffer *This,
  1045.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1046.     PRPC_MESSAGE _pRpcMessage,
  1047.     DWORD *_pdwStubPhase);
  1048. HRESULT STDMETHODCALLTYPE IWMProfile3_CreateNewBandwidthSharing_Proxy( 
  1049.     IWMProfile3 * This,
  1050.     /* [out] */ IWMBandwidthSharing **ppBS);
  1051. void __RPC_STUB IWMProfile3_CreateNewBandwidthSharing_Stub(
  1052.     IRpcStubBuffer *This,
  1053.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1054.     PRPC_MESSAGE _pRpcMessage,
  1055.     DWORD *_pdwStubPhase);
  1056. HRESULT STDMETHODCALLTYPE IWMProfile3_GetStreamPrioritization_Proxy( 
  1057.     IWMProfile3 * This,
  1058.     /* [out] */ IWMStreamPrioritization **ppSP);
  1059. void __RPC_STUB IWMProfile3_GetStreamPrioritization_Stub(
  1060.     IRpcStubBuffer *This,
  1061.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1062.     PRPC_MESSAGE _pRpcMessage,
  1063.     DWORD *_pdwStubPhase);
  1064. HRESULT STDMETHODCALLTYPE IWMProfile3_SetStreamPrioritization_Proxy( 
  1065.     IWMProfile3 * This,
  1066.     /* [in] */ IWMStreamPrioritization *pSP);
  1067. void __RPC_STUB IWMProfile3_SetStreamPrioritization_Stub(
  1068.     IRpcStubBuffer *This,
  1069.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1070.     PRPC_MESSAGE _pRpcMessage,
  1071.     DWORD *_pdwStubPhase);
  1072. HRESULT STDMETHODCALLTYPE IWMProfile3_RemoveStreamPrioritization_Proxy( 
  1073.     IWMProfile3 * This);
  1074. void __RPC_STUB IWMProfile3_RemoveStreamPrioritization_Stub(
  1075.     IRpcStubBuffer *This,
  1076.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1077.     PRPC_MESSAGE _pRpcMessage,
  1078.     DWORD *_pdwStubPhase);
  1079. HRESULT STDMETHODCALLTYPE IWMProfile3_CreateNewStreamPrioritization_Proxy( 
  1080.     IWMProfile3 * This,
  1081.     /* [out] */ IWMStreamPrioritization **ppSP);
  1082. void __RPC_STUB IWMProfile3_CreateNewStreamPrioritization_Stub(
  1083.     IRpcStubBuffer *This,
  1084.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1085.     PRPC_MESSAGE _pRpcMessage,
  1086.     DWORD *_pdwStubPhase);
  1087. HRESULT STDMETHODCALLTYPE IWMProfile3_GetExpectedPacketCount_Proxy( 
  1088.     IWMProfile3 * This,
  1089.     /* [in] */ QWORD msDuration,
  1090.     /* [out] */ QWORD *pcPackets);
  1091. void __RPC_STUB IWMProfile3_GetExpectedPacketCount_Stub(
  1092.     IRpcStubBuffer *This,
  1093.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1094.     PRPC_MESSAGE _pRpcMessage,
  1095.     DWORD *_pdwStubPhase);
  1096. #endif  /* __IWMProfile3_INTERFACE_DEFINED__ */
  1097. #ifndef __IWMStreamConfig_INTERFACE_DEFINED__
  1098. #define __IWMStreamConfig_INTERFACE_DEFINED__
  1099. /* interface IWMStreamConfig */
  1100. /* [local][unique][helpstring][uuid][object] */ 
  1101. EXTERN_C const IID IID_IWMStreamConfig;
  1102. #if defined(__cplusplus) && !defined(CINTERFACE)
  1103.     
  1104.     MIDL_INTERFACE("96406BDC-2B2B-11d3-B36B-00C04F6108FF")
  1105.     IWMStreamConfig : public IUnknown
  1106.     {
  1107.     public:
  1108.         virtual HRESULT STDMETHODCALLTYPE GetStreamType( 
  1109.             /* [out] */ GUID *pguidStreamType) = 0;
  1110.         
  1111.         virtual HRESULT STDMETHODCALLTYPE GetStreamNumber( 
  1112.             /* [out] */ WORD *pwStreamNum) = 0;
  1113.         
  1114.         virtual HRESULT STDMETHODCALLTYPE SetStreamNumber( 
  1115.             /* [in] */ WORD wStreamNum) = 0;
  1116.         
  1117.         virtual HRESULT STDMETHODCALLTYPE GetStreamName( 
  1118.             /* [size_is][out] */ WCHAR *pwszStreamName,
  1119.             /* [out][in] */ WORD *pcchStreamName) = 0;
  1120.         
  1121.         virtual HRESULT STDMETHODCALLTYPE SetStreamName( 
  1122.             /* [in] */ WCHAR *pwszStreamName) = 0;
  1123.         
  1124.         virtual HRESULT STDMETHODCALLTYPE GetConnectionName( 
  1125.             /* [size_is][out] */ WCHAR *pwszInputName,
  1126.             /* [out][in] */ WORD *pcchInputName) = 0;
  1127.         
  1128.         virtual HRESULT STDMETHODCALLTYPE SetConnectionName( 
  1129.             /* [in] */ WCHAR *pwszInputName) = 0;
  1130.         
  1131.         virtual HRESULT STDMETHODCALLTYPE GetBitrate( 
  1132.             /* [out] */ DWORD *pdwBitrate) = 0;
  1133.         
  1134.         virtual HRESULT STDMETHODCALLTYPE SetBitrate( 
  1135.             /* [in] */ DWORD pdwBitrate) = 0;
  1136.         
  1137.         virtual HRESULT STDMETHODCALLTYPE GetBufferWindow( 
  1138.             /* [out] */ DWORD *pmsBufferWindow) = 0;
  1139.         
  1140.         virtual HRESULT STDMETHODCALLTYPE SetBufferWindow( 
  1141.             /* [in] */ DWORD msBufferWindow) = 0;
  1142.         
  1143.     };
  1144.     
  1145. #else  /* C style interface */
  1146.     typedef struct IWMStreamConfigVtbl
  1147.     {
  1148.         BEGIN_INTERFACE
  1149.         
  1150.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1151.             IWMStreamConfig * This,
  1152.             /* [in] */ REFIID riid,
  1153.             /* [iid_is][out] */ void **ppvObject);
  1154.         
  1155.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1156.             IWMStreamConfig * This);
  1157.         
  1158.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1159.             IWMStreamConfig * This);
  1160.         
  1161.         HRESULT ( STDMETHODCALLTYPE *GetStreamType )( 
  1162.             IWMStreamConfig * This,
  1163.             /* [out] */ GUID *pguidStreamType);
  1164.         
  1165.         HRESULT ( STDMETHODCALLTYPE *GetStreamNumber )( 
  1166.             IWMStreamConfig * This,
  1167.             /* [out] */ WORD *pwStreamNum);
  1168.         
  1169.         HRESULT ( STDMETHODCALLTYPE *SetStreamNumber )( 
  1170.             IWMStreamConfig * This,
  1171.             /* [in] */ WORD wStreamNum);
  1172.         
  1173.         HRESULT ( STDMETHODCALLTYPE *GetStreamName )( 
  1174.             IWMStreamConfig * This,
  1175.             /* [size_is][out] */ WCHAR *pwszStreamName,
  1176.             /* [out][in] */ WORD *pcchStreamName);
  1177.         
  1178.         HRESULT ( STDMETHODCALLTYPE *SetStreamName )( 
  1179.             IWMStreamConfig * This,
  1180.             /* [in] */ WCHAR *pwszStreamName);
  1181.         
  1182.         HRESULT ( STDMETHODCALLTYPE *GetConnectionName )( 
  1183.             IWMStreamConfig * This,
  1184.             /* [size_is][out] */ WCHAR *pwszInputName,
  1185.             /* [out][in] */ WORD *pcchInputName);
  1186.         
  1187.         HRESULT ( STDMETHODCALLTYPE *SetConnectionName )( 
  1188.             IWMStreamConfig * This,
  1189.             /* [in] */ WCHAR *pwszInputName);
  1190.         
  1191.         HRESULT ( STDMETHODCALLTYPE *GetBitrate )( 
  1192.             IWMStreamConfig * This,
  1193.             /* [out] */ DWORD *pdwBitrate);
  1194.         
  1195.         HRESULT ( STDMETHODCALLTYPE *SetBitrate )( 
  1196.             IWMStreamConfig * This,
  1197.             /* [in] */ DWORD pdwBitrate);
  1198.         
  1199.         HRESULT ( STDMETHODCALLTYPE *GetBufferWindow )( 
  1200.             IWMStreamConfig * This,
  1201.             /* [out] */ DWORD *pmsBufferWindow);
  1202.         
  1203.         HRESULT ( STDMETHODCALLTYPE *SetBufferWindow )( 
  1204.             IWMStreamConfig * This,
  1205.             /* [in] */ DWORD msBufferWindow);
  1206.         
  1207.         END_INTERFACE
  1208.     } IWMStreamConfigVtbl;
  1209.     interface IWMStreamConfig
  1210.     {
  1211.         CONST_VTBL struct IWMStreamConfigVtbl *lpVtbl;
  1212.     };
  1213.     
  1214. #ifdef COBJMACROS
  1215. #define IWMStreamConfig_QueryInterface(This,riid,ppvObject)
  1216.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1217. #define IWMStreamConfig_AddRef(This)
  1218.     (This)->lpVtbl -> AddRef(This)
  1219. #define IWMStreamConfig_Release(This)
  1220.     (This)->lpVtbl -> Release(This)
  1221. #define IWMStreamConfig_GetStreamType(This,pguidStreamType)
  1222.     (This)->lpVtbl -> GetStreamType(This,pguidStreamType)
  1223. #define IWMStreamConfig_GetStreamNumber(This,pwStreamNum)
  1224.     (This)->lpVtbl -> GetStreamNumber(This,pwStreamNum)
  1225. #define IWMStreamConfig_SetStreamNumber(This,wStreamNum)
  1226.     (This)->lpVtbl -> SetStreamNumber(This,wStreamNum)
  1227. #define IWMStreamConfig_GetStreamName(This,pwszStreamName,pcchStreamName)
  1228.     (This)->lpVtbl -> GetStreamName(This,pwszStreamName,pcchStreamName)
  1229. #define IWMStreamConfig_SetStreamName(This,pwszStreamName)
  1230.     (This)->lpVtbl -> SetStreamName(This,pwszStreamName)
  1231. #define IWMStreamConfig_GetConnectionName(This,pwszInputName,pcchInputName)
  1232.     (This)->lpVtbl -> GetConnectionName(This,pwszInputName,pcchInputName)
  1233. #define IWMStreamConfig_SetConnectionName(This,pwszInputName)
  1234.     (This)->lpVtbl -> SetConnectionName(This,pwszInputName)
  1235. #define IWMStreamConfig_GetBitrate(This,pdwBitrate)
  1236.     (This)->lpVtbl -> GetBitrate(This,pdwBitrate)
  1237. #define IWMStreamConfig_SetBitrate(This,pdwBitrate)
  1238.     (This)->lpVtbl -> SetBitrate(This,pdwBitrate)
  1239. #define IWMStreamConfig_GetBufferWindow(This,pmsBufferWindow)
  1240.     (This)->lpVtbl -> GetBufferWindow(This,pmsBufferWindow)
  1241. #define IWMStreamConfig_SetBufferWindow(This,msBufferWindow)
  1242.     (This)->lpVtbl -> SetBufferWindow(This,msBufferWindow)
  1243. #endif /* COBJMACROS */
  1244. #endif  /* C style interface */
  1245. HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetStreamType_Proxy( 
  1246.     IWMStreamConfig * This,
  1247.     /* [out] */ GUID *pguidStreamType);
  1248. void __RPC_STUB IWMStreamConfig_GetStreamType_Stub(
  1249.     IRpcStubBuffer *This,
  1250.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1251.     PRPC_MESSAGE _pRpcMessage,
  1252.     DWORD *_pdwStubPhase);
  1253. HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetStreamNumber_Proxy( 
  1254.     IWMStreamConfig * This,
  1255.     /* [out] */ WORD *pwStreamNum);
  1256. void __RPC_STUB IWMStreamConfig_GetStreamNumber_Stub(
  1257.     IRpcStubBuffer *This,
  1258.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1259.     PRPC_MESSAGE _pRpcMessage,
  1260.     DWORD *_pdwStubPhase);
  1261. HRESULT STDMETHODCALLTYPE IWMStreamConfig_SetStreamNumber_Proxy( 
  1262.     IWMStreamConfig * This,
  1263.     /* [in] */ WORD wStreamNum);
  1264. void __RPC_STUB IWMStreamConfig_SetStreamNumber_Stub(
  1265.     IRpcStubBuffer *This,
  1266.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1267.     PRPC_MESSAGE _pRpcMessage,
  1268.     DWORD *_pdwStubPhase);
  1269. HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetStreamName_Proxy( 
  1270.     IWMStreamConfig * This,
  1271.     /* [size_is][out] */ WCHAR *pwszStreamName,
  1272.     /* [out][in] */ WORD *pcchStreamName);
  1273. void __RPC_STUB IWMStreamConfig_GetStreamName_Stub(
  1274.     IRpcStubBuffer *This,
  1275.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1276.     PRPC_MESSAGE _pRpcMessage,
  1277.     DWORD *_pdwStubPhase);
  1278. HRESULT STDMETHODCALLTYPE IWMStreamConfig_SetStreamName_Proxy( 
  1279.     IWMStreamConfig * This,
  1280.     /* [in] */ WCHAR *pwszStreamName);
  1281. void __RPC_STUB IWMStreamConfig_SetStreamName_Stub(
  1282.     IRpcStubBuffer *This,
  1283.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1284.     PRPC_MESSAGE _pRpcMessage,
  1285.     DWORD *_pdwStubPhase);
  1286. HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetConnectionName_Proxy( 
  1287.     IWMStreamConfig * This,
  1288.     /* [size_is][out] */ WCHAR *pwszInputName,
  1289.     /* [out][in] */ WORD *pcchInputName);
  1290. void __RPC_STUB IWMStreamConfig_GetConnectionName_Stub(
  1291.     IRpcStubBuffer *This,
  1292.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1293.     PRPC_MESSAGE _pRpcMessage,
  1294.     DWORD *_pdwStubPhase);
  1295. HRESULT STDMETHODCALLTYPE IWMStreamConfig_SetConnectionName_Proxy( 
  1296.     IWMStreamConfig * This,
  1297.     /* [in] */ WCHAR *pwszInputName);
  1298. void __RPC_STUB IWMStreamConfig_SetConnectionName_Stub(
  1299.     IRpcStubBuffer *This,
  1300.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1301.     PRPC_MESSAGE _pRpcMessage,
  1302.     DWORD *_pdwStubPhase);
  1303. HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetBitrate_Proxy( 
  1304.     IWMStreamConfig * This,
  1305.     /* [out] */ DWORD *pdwBitrate);
  1306. void __RPC_STUB IWMStreamConfig_GetBitrate_Stub(
  1307.     IRpcStubBuffer *This,
  1308.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1309.     PRPC_MESSAGE _pRpcMessage,
  1310.     DWORD *_pdwStubPhase);
  1311. HRESULT STDMETHODCALLTYPE IWMStreamConfig_SetBitrate_Proxy( 
  1312.     IWMStreamConfig * This,
  1313.     /* [in] */ DWORD pdwBitrate);
  1314. void __RPC_STUB IWMStreamConfig_SetBitrate_Stub(
  1315.     IRpcStubBuffer *This,
  1316.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1317.     PRPC_MESSAGE _pRpcMessage,
  1318.     DWORD *_pdwStubPhase);
  1319. HRESULT STDMETHODCALLTYPE IWMStreamConfig_GetBufferWindow_Proxy( 
  1320.     IWMStreamConfig * This,
  1321.     /* [out] */ DWORD *pmsBufferWindow);
  1322. void __RPC_STUB IWMStreamConfig_GetBufferWindow_Stub(
  1323.     IRpcStubBuffer *This,
  1324.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1325.     PRPC_MESSAGE _pRpcMessage,
  1326.     DWORD *_pdwStubPhase);
  1327. HRESULT STDMETHODCALLTYPE IWMStreamConfig_SetBufferWindow_Proxy( 
  1328.     IWMStreamConfig * This,
  1329.     /* [in] */ DWORD msBufferWindow);
  1330. void __RPC_STUB IWMStreamConfig_SetBufferWindow_Stub(
  1331.     IRpcStubBuffer *This,
  1332.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1333.     PRPC_MESSAGE _pRpcMessage,
  1334.     DWORD *_pdwStubPhase);
  1335. #endif  /* __IWMStreamConfig_INTERFACE_DEFINED__ */
  1336. #ifndef __IWMStreamConfig2_INTERFACE_DEFINED__
  1337. #define __IWMStreamConfig2_INTERFACE_DEFINED__
  1338. /* interface IWMStreamConfig2 */
  1339. /* [local][unique][helpstring][uuid][object] */ 
  1340. EXTERN_C const IID IID_IWMStreamConfig2;
  1341. #if defined(__cplusplus) && !defined(CINTERFACE)
  1342.     
  1343.     MIDL_INTERFACE("7688D8CB-FC0D-43BD-9459-5A8DEC200CFA")
  1344.     IWMStreamConfig2 : public IWMStreamConfig
  1345.     {
  1346.     public:
  1347.         virtual HRESULT STDMETHODCALLTYPE GetTransportType( 
  1348.             /* [out] */ WMT_TRANSPORT_TYPE *pnTransportType) = 0;
  1349.         
  1350.         virtual HRESULT STDMETHODCALLTYPE SetTransportType( 
  1351.             /* [in] */ WMT_TRANSPORT_TYPE nTransportType) = 0;
  1352.         
  1353.         virtual HRESULT STDMETHODCALLTYPE AddDataUnitExtension( 
  1354.             /* [in] */ GUID guidExtensionSystemID,
  1355.             /* [in] */ WORD cbExtensionDataSize,
  1356.             /* [size_is][in] */ BYTE *pbExtensionSystemInfo,
  1357.             /* [in] */ DWORD cbExtensionSystemInfo) = 0;
  1358.         
  1359.         virtual HRESULT STDMETHODCALLTYPE GetDataUnitExtensionCount( 
  1360.             /* [out] */ WORD *pcDataUnitExtensions) = 0;
  1361.         
  1362.         virtual HRESULT STDMETHODCALLTYPE GetDataUnitExtension( 
  1363.             /* [in] */ WORD wDataUnitExtensionNumber,
  1364.             /* [out] */ GUID *pguidExtensionSystemID,
  1365.             /* [out] */ WORD *pcbExtensionDataSize,
  1366.             /* [size_is][out] */ BYTE *pbExtensionSystemInfo,
  1367.             /* [out][in] */ DWORD *pcbExtensionSystemInfo) = 0;
  1368.         
  1369.         virtual HRESULT STDMETHODCALLTYPE RemoveAllDataUnitExtensions( void) = 0;
  1370.         
  1371.     };
  1372.     
  1373. #else  /* C style interface */
  1374.     typedef struct IWMStreamConfig2Vtbl
  1375.     {
  1376.         BEGIN_INTERFACE
  1377.         
  1378.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1379.             IWMStreamConfig2 * This,
  1380.             /* [in] */ REFIID riid,
  1381.             /* [iid_is][out] */ void **ppvObject);
  1382.         
  1383.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1384.             IWMStreamConfig2 * This);
  1385.         
  1386.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1387.             IWMStreamConfig2 * This);
  1388.         
  1389.         HRESULT ( STDMETHODCALLTYPE *GetStreamType )( 
  1390.             IWMStreamConfig2 * This,
  1391.             /* [out] */ GUID *pguidStreamType);
  1392.         
  1393.         HRESULT ( STDMETHODCALLTYPE *GetStreamNumber )( 
  1394.             IWMStreamConfig2 * This,
  1395.             /* [out] */ WORD *pwStreamNum);
  1396.         
  1397.         HRESULT ( STDMETHODCALLTYPE *SetStreamNumber )( 
  1398.             IWMStreamConfig2 * This,
  1399.             /* [in] */ WORD wStreamNum);
  1400.         
  1401.         HRESULT ( STDMETHODCALLTYPE *GetStreamName )( 
  1402.             IWMStreamConfig2 * This,
  1403.             /* [size_is][out] */ WCHAR *pwszStreamName,
  1404.             /* [out][in] */ WORD *pcchStreamName);
  1405.         
  1406.         HRESULT ( STDMETHODCALLTYPE *SetStreamName )( 
  1407.             IWMStreamConfig2 * This,
  1408.             /* [in] */ WCHAR *pwszStreamName);
  1409.         
  1410.         HRESULT ( STDMETHODCALLTYPE *GetConnectionName )( 
  1411.             IWMStreamConfig2 * This,
  1412.             /* [size_is][out] */ WCHAR *pwszInputName,
  1413.             /* [out][in] */ WORD *pcchInputName);
  1414.         
  1415.         HRESULT ( STDMETHODCALLTYPE *SetConnectionName )( 
  1416.             IWMStreamConfig2 * This,
  1417.             /* [in] */ WCHAR *pwszInputName);
  1418.         
  1419.         HRESULT ( STDMETHODCALLTYPE *GetBitrate )( 
  1420.             IWMStreamConfig2 * This,
  1421.             /* [out] */ DWORD *pdwBitrate);
  1422.         
  1423.         HRESULT ( STDMETHODCALLTYPE *SetBitrate )( 
  1424.             IWMStreamConfig2 * This,
  1425.             /* [in] */ DWORD pdwBitrate);
  1426.         
  1427.         HRESULT ( STDMETHODCALLTYPE *GetBufferWindow )( 
  1428.             IWMStreamConfig2 * This,
  1429.             /* [out] */ DWORD *pmsBufferWindow);
  1430.         
  1431.         HRESULT ( STDMETHODCALLTYPE *SetBufferWindow )( 
  1432.             IWMStreamConfig2 * This,
  1433.             /* [in] */ DWORD msBufferWindow);
  1434.         
  1435.         HRESULT ( STDMETHODCALLTYPE *GetTransportType )( 
  1436.             IWMStreamConfig2 * This,
  1437.             /* [out] */ WMT_TRANSPORT_TYPE *pnTransportType);
  1438.         
  1439.         HRESULT ( STDMETHODCALLTYPE *SetTransportType )( 
  1440.             IWMStreamConfig2 * This,
  1441.             /* [in] */ WMT_TRANSPORT_TYPE nTransportType);
  1442.         
  1443.         HRESULT ( STDMETHODCALLTYPE *AddDataUnitExtension )( 
  1444.             IWMStreamConfig2 * This,
  1445.             /* [in] */ GUID guidExtensionSystemID,
  1446.             /* [in] */ WORD cbExtensionDataSize,
  1447.             /* [size_is][in] */ BYTE *pbExtensionSystemInfo,
  1448.             /* [in] */ DWORD cbExtensionSystemInfo);
  1449.         
  1450.         HRESULT ( STDMETHODCALLTYPE *GetDataUnitExtensionCount )( 
  1451.             IWMStreamConfig2 * This,
  1452.             /* [out] */ WORD *pcDataUnitExtensions);
  1453.         
  1454.         HRESULT ( STDMETHODCALLTYPE *GetDataUnitExtension )( 
  1455.             IWMStreamConfig2 * This,
  1456.             /* [in] */ WORD wDataUnitExtensionNumber,
  1457.             /* [out] */ GUID *pguidExtensionSystemID,
  1458.             /* [out] */ WORD *pcbExtensionDataSize,
  1459.             /* [size_is][out] */ BYTE *pbExtensionSystemInfo,
  1460.             /* [out][in] */ DWORD *pcbExtensionSystemInfo);
  1461.         
  1462.         HRESULT ( STDMETHODCALLTYPE *RemoveAllDataUnitExtensions )( 
  1463.             IWMStreamConfig2 * This);
  1464.         
  1465.         END_INTERFACE
  1466.     } IWMStreamConfig2Vtbl;
  1467.     interface IWMStreamConfig2
  1468.     {
  1469.         CONST_VTBL struct IWMStreamConfig2Vtbl *lpVtbl;
  1470.     };
  1471.     
  1472. #ifdef COBJMACROS
  1473. #define IWMStreamConfig2_QueryInterface(This,riid,ppvObject)
  1474.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1475. #define IWMStreamConfig2_AddRef(This)
  1476.     (This)->lpVtbl -> AddRef(This)
  1477. #define IWMStreamConfig2_Release(This)
  1478.     (This)->lpVtbl -> Release(This)
  1479. #define IWMStreamConfig2_GetStreamType(This,pguidStreamType)
  1480.     (This)->lpVtbl -> GetStreamType(This,pguidStreamType)
  1481. #define IWMStreamConfig2_GetStreamNumber(This,pwStreamNum)
  1482.     (This)->lpVtbl -> GetStreamNumber(This,pwStreamNum)
  1483. #define IWMStreamConfig2_SetStreamNumber(This,wStreamNum)
  1484.     (This)->lpVtbl -> SetStreamNumber(This,wStreamNum)
  1485. #define IWMStreamConfig2_GetStreamName(This,pwszStreamName,pcchStreamName)
  1486.     (This)->lpVtbl -> GetStreamName(This,pwszStreamName,pcchStreamName)
  1487. #define IWMStreamConfig2_SetStreamName(This,pwszStreamName)
  1488.     (This)->lpVtbl -> SetStreamName(This,pwszStreamName)
  1489. #define IWMStreamConfig2_GetConnectionName(This,pwszInputName,pcchInputName)
  1490.     (This)->lpVtbl -> GetConnectionName(This,pwszInputName,pcchInputName)
  1491. #define IWMStreamConfig2_SetConnectionName(This,pwszInputName)
  1492.     (This)->lpVtbl -> SetConnectionName(This,pwszInputName)
  1493. #define IWMStreamConfig2_GetBitrate(This,pdwBitrate)
  1494.     (This)->lpVtbl -> GetBitrate(This,pdwBitrate)
  1495. #define IWMStreamConfig2_SetBitrate(This,pdwBitrate)
  1496.     (This)->lpVtbl -> SetBitrate(This,pdwBitrate)
  1497. #define IWMStreamConfig2_GetBufferWindow(This,pmsBufferWindow)
  1498.     (This)->lpVtbl -> GetBufferWindow(This,pmsBufferWindow)
  1499. #define IWMStreamConfig2_SetBufferWindow(This,msBufferWindow)
  1500.     (This)->lpVtbl -> SetBufferWindow(This,msBufferWindow)
  1501. #define IWMStreamConfig2_GetTransportType(This,pnTransportType)
  1502.     (This)->lpVtbl -> GetTransportType(This,pnTransportType)
  1503. #define IWMStreamConfig2_SetTransportType(This,nTransportType)
  1504.     (This)->lpVtbl -> SetTransportType(This,nTransportType)
  1505. #define IWMStreamConfig2_AddDataUnitExtension(This,guidExtensionSystemID,cbExtensionDataSize,pbExtensionSystemInfo,cbExtensionSystemInfo)
  1506.     (This)->lpVtbl -> AddDataUnitExtension(This,guidExtensionSystemID,cbExtensionDataSize,pbExtensionSystemInfo,cbExtensionSystemInfo)
  1507. #define IWMStreamConfig2_GetDataUnitExtensionCount(This,pcDataUnitExtensions)
  1508.     (This)->lpVtbl -> GetDataUnitExtensionCount(This,pcDataUnitExtensions)
  1509. #define IWMStreamConfig2_GetDataUnitExtension(This,wDataUnitExtensionNumber,pguidExtensionSystemID,pcbExtensionDataSize,pbExtensionSystemInfo,pcbExtensionSystemInfo)
  1510.     (This)->lpVtbl -> GetDataUnitExtension(This,wDataUnitExtensionNumber,pguidExtensionSystemID,pcbExtensionDataSize,pbExtensionSystemInfo,pcbExtensionSystemInfo)
  1511. #define IWMStreamConfig2_RemoveAllDataUnitExtensions(This)
  1512.     (This)->lpVtbl -> RemoveAllDataUnitExtensions(This)
  1513. #endif /* COBJMACROS */
  1514. #endif  /* C style interface */
  1515. HRESULT STDMETHODCALLTYPE IWMStreamConfig2_GetTransportType_Proxy( 
  1516.     IWMStreamConfig2 * This,
  1517.     /* [out] */ WMT_TRANSPORT_TYPE *pnTransportType);
  1518. void __RPC_STUB IWMStreamConfig2_GetTransportType_Stub(
  1519.     IRpcStubBuffer *This,
  1520.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1521.     PRPC_MESSAGE _pRpcMessage,
  1522.     DWORD *_pdwStubPhase);
  1523. HRESULT STDMETHODCALLTYPE IWMStreamConfig2_SetTransportType_Proxy( 
  1524.     IWMStreamConfig2 * This,
  1525.     /* [in] */ WMT_TRANSPORT_TYPE nTransportType);
  1526. void __RPC_STUB IWMStreamConfig2_SetTransportType_Stub(
  1527.     IRpcStubBuffer *This,
  1528.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1529.     PRPC_MESSAGE _pRpcMessage,
  1530.     DWORD *_pdwStubPhase);
  1531. HRESULT STDMETHODCALLTYPE IWMStreamConfig2_AddDataUnitExtension_Proxy( 
  1532.     IWMStreamConfig2 * This,
  1533.     /* [in] */ GUID guidExtensionSystemID,
  1534.     /* [in] */ WORD cbExtensionDataSize,
  1535.     /* [size_is][in] */ BYTE *pbExtensionSystemInfo,
  1536.     /* [in] */ DWORD cbExtensionSystemInfo);
  1537. void __RPC_STUB IWMStreamConfig2_AddDataUnitExtension_Stub(
  1538.     IRpcStubBuffer *This,
  1539.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1540.     PRPC_MESSAGE _pRpcMessage,
  1541.     DWORD *_pdwStubPhase);
  1542. HRESULT STDMETHODCALLTYPE IWMStreamConfig2_GetDataUnitExtensionCount_Proxy( 
  1543.     IWMStreamConfig2 * This,
  1544.     /* [out] */ WORD *pcDataUnitExtensions);
  1545. void __RPC_STUB IWMStreamConfig2_GetDataUnitExtensionCount_Stub(
  1546.     IRpcStubBuffer *This,
  1547.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1548.     PRPC_MESSAGE _pRpcMessage,
  1549.     DWORD *_pdwStubPhase);
  1550. HRESULT STDMETHODCALLTYPE IWMStreamConfig2_GetDataUnitExtension_Proxy( 
  1551.     IWMStreamConfig2 * This,
  1552.     /* [in] */ WORD wDataUnitExtensionNumber,
  1553.     /* [out] */ GUID *pguidExtensionSystemID,
  1554.     /* [out] */ WORD *pcbExtensionDataSize,
  1555.     /* [size_is][out] */ BYTE *pbExtensionSystemInfo,
  1556.     /* [out][in] */ DWORD *pcbExtensionSystemInfo);
  1557. void __RPC_STUB IWMStreamConfig2_GetDataUnitExtension_Stub(
  1558.     IRpcStubBuffer *This,
  1559.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1560.     PRPC_MESSAGE _pRpcMessage,
  1561.     DWORD *_pdwStubPhase);
  1562. HRESULT STDMETHODCALLTYPE IWMStreamConfig2_RemoveAllDataUnitExtensions_Proxy( 
  1563.     IWMStreamConfig2 * This);
  1564. void __RPC_STUB IWMStreamConfig2_RemoveAllDataUnitExtensions_Stub(
  1565.     IRpcStubBuffer *This,
  1566.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1567.     PRPC_MESSAGE _pRpcMessage,
  1568.     DWORD *_pdwStubPhase);
  1569. #endif  /* __IWMStreamConfig2_INTERFACE_DEFINED__ */
  1570. #ifndef __IWMStreamConfig3_INTERFACE_DEFINED__
  1571. #define __IWMStreamConfig3_INTERFACE_DEFINED__
  1572. /* interface IWMStreamConfig3 */
  1573. /* [local][unique][helpstring][uuid][object] */ 
  1574. EXTERN_C const IID IID_IWMStreamConfig3;
  1575. #if defined(__cplusplus) && !defined(CINTERFACE)
  1576.     
  1577.     MIDL_INTERFACE("CB164104-3AA9-45a7-9AC9-4DAEE131D6E1")
  1578.     IWMStreamConfig3 : public IWMStreamConfig2
  1579.     {
  1580.     public:
  1581.         virtual HRESULT STDMETHODCALLTYPE GetLanguage( 
  1582.             /* [size_is][out] */ WCHAR *pwszLanguageString,
  1583.             /* [out][in] */ WORD *pcchLanguageStringLength) = 0;
  1584.         
  1585.         virtual HRESULT STDMETHODCALLTYPE SetLanguage( 
  1586.             /* [in] */ LPWSTR pwszLanguageString) = 0;
  1587.         
  1588.     };
  1589.     
  1590. #else  /* C style interface */
  1591.     typedef struct IWMStreamConfig3Vtbl
  1592.     {
  1593.         BEGIN_INTERFACE
  1594.         
  1595.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1596.             IWMStreamConfig3 * This,
  1597.             /* [in] */ REFIID riid,
  1598.             /* [iid_is][out] */ void **ppvObject);
  1599.         
  1600.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1601.             IWMStreamConfig3 * This);
  1602.         
  1603.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1604.             IWMStreamConfig3 * This);
  1605.         
  1606.         HRESULT ( STDMETHODCALLTYPE *GetStreamType )( 
  1607.             IWMStreamConfig3 * This,
  1608.             /* [out] */ GUID *pguidStreamType);
  1609.         
  1610.         HRESULT ( STDMETHODCALLTYPE *GetStreamNumber )( 
  1611.             IWMStreamConfig3 * This,
  1612.             /* [out] */ WORD *pwStreamNum);
  1613.         
  1614.         HRESULT ( STDMETHODCALLTYPE *SetStreamNumber )( 
  1615.             IWMStreamConfig3 * This,
  1616.             /* [in] */ WORD wStreamNum);
  1617.         
  1618.         HRESULT ( STDMETHODCALLTYPE *GetStreamName )( 
  1619.             IWMStreamConfig3 * This,
  1620.             /* [size_is][out] */ WCHAR *pwszStreamName,
  1621.             /* [out][in] */ WORD *pcchStreamName);
  1622.         
  1623.         HRESULT ( STDMETHODCALLTYPE *SetStreamName )( 
  1624.             IWMStreamConfig3 * This,
  1625.             /* [in] */ WCHAR *pwszStreamName);
  1626.         
  1627.         HRESULT ( STDMETHODCALLTYPE *GetConnectionName )( 
  1628.             IWMStreamConfig3 * This,
  1629.             /* [size_is][out] */ WCHAR *pwszInputName,
  1630.             /* [out][in] */ WORD *pcchInputName);
  1631.         
  1632.         HRESULT ( STDMETHODCALLTYPE *SetConnectionName )( 
  1633.             IWMStreamConfig3 * This,
  1634.             /* [in] */ WCHAR *pwszInputName);
  1635.         
  1636.         HRESULT ( STDMETHODCALLTYPE *GetBitrate )( 
  1637.             IWMStreamConfig3 * This,
  1638.             /* [out] */ DWORD *pdwBitrate);
  1639.         
  1640.         HRESULT ( STDMETHODCALLTYPE *SetBitrate )( 
  1641.             IWMStreamConfig3 * This,
  1642.             /* [in] */ DWORD pdwBitrate);
  1643.         
  1644.         HRESULT ( STDMETHODCALLTYPE *GetBufferWindow )( 
  1645.             IWMStreamConfig3 * This,
  1646.             /* [out] */ DWORD *pmsBufferWindow);
  1647.         
  1648.         HRESULT ( STDMETHODCALLTYPE *SetBufferWindow )( 
  1649.             IWMStreamConfig3 * This,
  1650.             /* [in] */ DWORD msBufferWindow);
  1651.         
  1652.         HRESULT ( STDMETHODCALLTYPE *GetTransportType )( 
  1653.             IWMStreamConfig3 * This,
  1654.             /* [out] */ WMT_TRANSPORT_TYPE *pnTransportType);
  1655.         
  1656.         HRESULT ( STDMETHODCALLTYPE *SetTransportType )( 
  1657.             IWMStreamConfig3 * This,
  1658.             /* [in] */ WMT_TRANSPORT_TYPE nTransportType);
  1659.         
  1660.         HRESULT ( STDMETHODCALLTYPE *AddDataUnitExtension )( 
  1661.             IWMStreamConfig3 * This,
  1662.             /* [in] */ GUID guidExtensionSystemID,
  1663.             /* [in] */ WORD cbExtensionDataSize,
  1664.             /* [size_is][in] */ BYTE *pbExtensionSystemInfo,
  1665.             /* [in] */ DWORD cbExtensionSystemInfo);
  1666.         
  1667.         HRESULT ( STDMETHODCALLTYPE *GetDataUnitExtensionCount )( 
  1668.             IWMStreamConfig3 * This,
  1669.             /* [out] */ WORD *pcDataUnitExtensions);
  1670.         
  1671.         HRESULT ( STDMETHODCALLTYPE *GetDataUnitExtension )( 
  1672.             IWMStreamConfig3 * This,
  1673.             /* [in] */ WORD wDataUnitExtensionNumber,
  1674.             /* [out] */ GUID *pguidExtensionSystemID,
  1675.             /* [out] */ WORD *pcbExtensionDataSize,
  1676.             /* [size_is][out] */ BYTE *pbExtensionSystemInfo,
  1677.             /* [out][in] */ DWORD *pcbExtensionSystemInfo);
  1678.         
  1679.         HRESULT ( STDMETHODCALLTYPE *RemoveAllDataUnitExtensions )( 
  1680.             IWMStreamConfig3 * This);
  1681.         
  1682.         HRESULT ( STDMETHODCALLTYPE *GetLanguage )( 
  1683.             IWMStreamConfig3 * This,
  1684.             /* [size_is][out] */ WCHAR *pwszLanguageString,
  1685.             /* [out][in] */ WORD *pcchLanguageStringLength);
  1686.         
  1687.         HRESULT ( STDMETHODCALLTYPE *SetLanguage )( 
  1688.             IWMStreamConfig3 * This,
  1689.             /* [in] */ LPWSTR pwszLanguageString);
  1690.         
  1691.         END_INTERFACE
  1692.     } IWMStreamConfig3Vtbl;
  1693.     interface IWMStreamConfig3
  1694.     {
  1695.         CONST_VTBL struct IWMStreamConfig3Vtbl *lpVtbl;
  1696.     };
  1697.     
  1698. #ifdef COBJMACROS
  1699. #define IWMStreamConfig3_QueryInterface(This,riid,ppvObject)
  1700.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1701. #define IWMStreamConfig3_AddRef(This)
  1702.     (This)->lpVtbl -> AddRef(This)
  1703. #define IWMStreamConfig3_Release(This)
  1704.     (This)->lpVtbl -> Release(This)
  1705. #define IWMStreamConfig3_GetStreamType(This,pguidStreamType)
  1706.     (This)->lpVtbl -> GetStreamType(This,pguidStreamType)
  1707. #define IWMStreamConfig3_GetStreamNumber(This,pwStreamNum)
  1708.     (This)->lpVtbl -> GetStreamNumber(This,pwStreamNum)
  1709. #define IWMStreamConfig3_SetStreamNumber(This,wStreamNum)
  1710.     (This)->lpVtbl -> SetStreamNumber(This,wStreamNum)
  1711. #define IWMStreamConfig3_GetStreamName(This,pwszStreamName,pcchStreamName)
  1712.     (This)->lpVtbl -> GetStreamName(This,pwszStreamName,pcchStreamName)
  1713. #define IWMStreamConfig3_SetStreamName(This,pwszStreamName)
  1714.     (This)->lpVtbl -> SetStreamName(This,pwszStreamName)
  1715. #define IWMStreamConfig3_GetConnectionName(This,pwszInputName,pcchInputName)
  1716.     (This)->lpVtbl -> GetConnectionName(This,pwszInputName,pcchInputName)
  1717. #define IWMStreamConfig3_SetConnectionName(This,pwszInputName)
  1718.     (This)->lpVtbl -> SetConnectionName(This,pwszInputName)
  1719. #define IWMStreamConfig3_GetBitrate(This,pdwBitrate)
  1720.     (This)->lpVtbl -> GetBitrate(This,pdwBitrate)
  1721. #define IWMStreamConfig3_SetBitrate(This,pdwBitrate)
  1722.     (This)->lpVtbl -> SetBitrate(This,pdwBitrate)
  1723. #define IWMStreamConfig3_GetBufferWindow(This,pmsBufferWindow)
  1724.     (This)->lpVtbl -> GetBufferWindow(This,pmsBufferWindow)
  1725. #define IWMStreamConfig3_SetBufferWindow(This,msBufferWindow)
  1726.     (This)->lpVtbl -> SetBufferWindow(This,msBufferWindow)
  1727. #define IWMStreamConfig3_GetTransportType(This,pnTransportType)
  1728.     (This)->lpVtbl -> GetTransportType(This,pnTransportType)
  1729. #define IWMStreamConfig3_SetTransportType(This,nTransportType)
  1730.     (This)->lpVtbl -> SetTransportType(This,nTransportType)
  1731. #define IWMStreamConfig3_AddDataUnitExtension(This,guidExtensionSystemID,cbExtensionDataSize,pbExtensionSystemInfo,cbExtensionSystemInfo)
  1732.     (This)->lpVtbl -> AddDataUnitExtension(This,guidExtensionSystemID,cbExtensionDataSize,pbExtensionSystemInfo,cbExtensionSystemInfo)
  1733. #define IWMStreamConfig3_GetDataUnitExtensionCount(This,pcDataUnitExtensions)
  1734.     (This)->lpVtbl -> GetDataUnitExtensionCount(This,pcDataUnitExtensions)
  1735. #define IWMStreamConfig3_GetDataUnitExtension(This,wDataUnitExtensionNumber,pguidExtensionSystemID,pcbExtensionDataSize,pbExtensionSystemInfo,pcbExtensionSystemInfo)
  1736.     (This)->lpVtbl -> GetDataUnitExtension(This,wDataUnitExtensionNumber,pguidExtensionSystemID,pcbExtensionDataSize,pbExtensionSystemInfo,pcbExtensionSystemInfo)
  1737. #define IWMStreamConfig3_RemoveAllDataUnitExtensions(This)
  1738.     (This)->lpVtbl -> RemoveAllDataUnitExtensions(This)
  1739. #define IWMStreamConfig3_GetLanguage(This,pwszLanguageString,pcchLanguageStringLength)
  1740.     (This)->lpVtbl -> GetLanguage(This,pwszLanguageString,pcchLanguageStringLength)
  1741. #define IWMStreamConfig3_SetLanguage(This,pwszLanguageString)
  1742.     (This)->lpVtbl -> SetLanguage(This,pwszLanguageString)
  1743. #endif /* COBJMACROS */
  1744. #endif  /* C style interface */
  1745. HRESULT STDMETHODCALLTYPE IWMStreamConfig3_GetLanguage_Proxy( 
  1746.     IWMStreamConfig3 * This,
  1747.     /* [size_is][out] */ WCHAR *pwszLanguageString,
  1748.     /* [out][in] */ WORD *pcchLanguageStringLength);
  1749. void __RPC_STUB IWMStreamConfig3_GetLanguage_Stub(
  1750.     IRpcStubBuffer *This,
  1751.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1752.     PRPC_MESSAGE _pRpcMessage,
  1753.     DWORD *_pdwStubPhase);
  1754. HRESULT STDMETHODCALLTYPE IWMStreamConfig3_SetLanguage_Proxy( 
  1755.     IWMStreamConfig3 * This,
  1756.     /* [in] */ LPWSTR pwszLanguageString);
  1757. void __RPC_STUB IWMStreamConfig3_SetLanguage_Stub(
  1758.     IRpcStubBuffer *This,
  1759.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1760.     PRPC_MESSAGE _pRpcMessage,
  1761.     DWORD *_pdwStubPhase);
  1762. #endif  /* __IWMStreamConfig3_INTERFACE_DEFINED__ */
  1763. #ifndef __IWMPacketSize_INTERFACE_DEFINED__
  1764. #define __IWMPacketSize_INTERFACE_DEFINED__
  1765. /* interface IWMPacketSize */
  1766. /* [local][unique][helpstring][uuid][object] */ 
  1767. EXTERN_C const IID IID_IWMPacketSize;
  1768. #if defined(__cplusplus) && !defined(CINTERFACE)
  1769.     
  1770.     MIDL_INTERFACE("CDFB97AB-188F-40b3-B643-5B7903975C59")
  1771.     IWMPacketSize : public IUnknown
  1772.     {
  1773.     public:
  1774.         virtual HRESULT STDMETHODCALLTYPE GetMaxPacketSize( 
  1775.             /* [out] */ DWORD *pdwMaxPacketSize) = 0;
  1776.         
  1777.         virtual HRESULT STDMETHODCALLTYPE SetMaxPacketSize( 
  1778.             /* [in] */ DWORD dwMaxPacketSize) = 0;
  1779.         
  1780.     };
  1781.     
  1782. #else  /* C style interface */
  1783.     typedef struct IWMPacketSizeVtbl
  1784.     {
  1785.         BEGIN_INTERFACE
  1786.         
  1787.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1788.             IWMPacketSize * This,
  1789.             /* [in] */ REFIID riid,
  1790.             /* [iid_is][out] */ void **ppvObject);
  1791.         
  1792.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1793.             IWMPacketSize * This);
  1794.         
  1795.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1796.             IWMPacketSize * This);
  1797.         
  1798.         HRESULT ( STDMETHODCALLTYPE *GetMaxPacketSize )( 
  1799.             IWMPacketSize * This,
  1800.             /* [out] */ DWORD *pdwMaxPacketSize);
  1801.         
  1802.         HRESULT ( STDMETHODCALLTYPE *SetMaxPacketSize )( 
  1803.             IWMPacketSize * This,
  1804.             /* [in] */ DWORD dwMaxPacketSize);
  1805.         
  1806.         END_INTERFACE
  1807.     } IWMPacketSizeVtbl;
  1808.     interface IWMPacketSize
  1809.     {
  1810.         CONST_VTBL struct IWMPacketSizeVtbl *lpVtbl;
  1811.     };
  1812.     
  1813. #ifdef COBJMACROS
  1814. #define IWMPacketSize_QueryInterface(This,riid,ppvObject)
  1815.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1816. #define IWMPacketSize_AddRef(This)
  1817.     (This)->lpVtbl -> AddRef(This)
  1818. #define IWMPacketSize_Release(This)
  1819.     (This)->lpVtbl -> Release(This)
  1820. #define IWMPacketSize_GetMaxPacketSize(This,pdwMaxPacketSize)
  1821.     (This)->lpVtbl -> GetMaxPacketSize(This,pdwMaxPacketSize)
  1822. #define IWMPacketSize_SetMaxPacketSize(This,dwMaxPacketSize)
  1823.     (This)->lpVtbl -> SetMaxPacketSize(This,dwMaxPacketSize)
  1824. #endif /* COBJMACROS */
  1825. #endif  /* C style interface */
  1826. HRESULT STDMETHODCALLTYPE IWMPacketSize_GetMaxPacketSize_Proxy( 
  1827.     IWMPacketSize * This,
  1828.     /* [out] */ DWORD *pdwMaxPacketSize);
  1829. void __RPC_STUB IWMPacketSize_GetMaxPacketSize_Stub(
  1830.     IRpcStubBuffer *This,
  1831.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1832.     PRPC_MESSAGE _pRpcMessage,
  1833.     DWORD *_pdwStubPhase);
  1834. HRESULT STDMETHODCALLTYPE IWMPacketSize_SetMaxPacketSize_Proxy( 
  1835.     IWMPacketSize * This,
  1836.     /* [in] */ DWORD dwMaxPacketSize);
  1837. void __RPC_STUB IWMPacketSize_SetMaxPacketSize_Stub(
  1838.     IRpcStubBuffer *This,
  1839.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1840.     PRPC_MESSAGE _pRpcMessage,
  1841.     DWORD *_pdwStubPhase);
  1842. #endif  /* __IWMPacketSize_INTERFACE_DEFINED__ */
  1843. #ifndef __IWMPacketSize2_INTERFACE_DEFINED__
  1844. #define __IWMPacketSize2_INTERFACE_DEFINED__
  1845. /* interface IWMPacketSize2 */
  1846. /* [local][unique][helpstring][uuid][object] */ 
  1847. EXTERN_C const IID IID_IWMPacketSize2;
  1848. #if defined(__cplusplus) && !defined(CINTERFACE)
  1849.     
  1850.     MIDL_INTERFACE("8BFC2B9E-B646-4233-A877-1C6A079669DC")
  1851.     IWMPacketSize2 : public IWMPacketSize
  1852.     {
  1853.     public:
  1854.         virtual HRESULT STDMETHODCALLTYPE GetMinPacketSize( 
  1855.             /* [out] */ DWORD *pdwMinPacketSize) = 0;
  1856.         
  1857.         virtual HRESULT STDMETHODCALLTYPE SetMinPacketSize( 
  1858.             /* [in] */ DWORD dwMinPacketSize) = 0;
  1859.         
  1860.     };
  1861.     
  1862. #else  /* C style interface */
  1863.     typedef struct IWMPacketSize2Vtbl
  1864.     {
  1865.         BEGIN_INTERFACE
  1866.         
  1867.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1868.             IWMPacketSize2 * This,
  1869.             /* [in] */ REFIID riid,
  1870.             /* [iid_is][out] */ void **ppvObject);
  1871.         
  1872.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1873.             IWMPacketSize2 * This);
  1874.         
  1875.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1876.             IWMPacketSize2 * This);
  1877.         
  1878.         HRESULT ( STDMETHODCALLTYPE *GetMaxPacketSize )( 
  1879.             IWMPacketSize2 * This,
  1880.             /* [out] */ DWORD *pdwMaxPacketSize);
  1881.         
  1882.         HRESULT ( STDMETHODCALLTYPE *SetMaxPacketSize )( 
  1883.             IWMPacketSize2 * This,
  1884.             /* [in] */ DWORD dwMaxPacketSize);
  1885.         
  1886.         HRESULT ( STDMETHODCALLTYPE *GetMinPacketSize )( 
  1887.             IWMPacketSize2 * This,
  1888.             /* [out] */ DWORD *pdwMinPacketSize);
  1889.         
  1890.         HRESULT ( STDMETHODCALLTYPE *SetMinPacketSize )( 
  1891.             IWMPacketSize2 * This,
  1892.             /* [in] */ DWORD dwMinPacketSize);
  1893.         
  1894.         END_INTERFACE
  1895.     } IWMPacketSize2Vtbl;
  1896.     interface IWMPacketSize2
  1897.     {
  1898.         CONST_VTBL struct IWMPacketSize2Vtbl *lpVtbl;
  1899.     };
  1900.     
  1901. #ifdef COBJMACROS
  1902. #define IWMPacketSize2_QueryInterface(This,riid,ppvObject)
  1903.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1904. #define IWMPacketSize2_AddRef(This)
  1905.     (This)->lpVtbl -> AddRef(This)
  1906. #define IWMPacketSize2_Release(This)
  1907.     (This)->lpVtbl -> Release(This)
  1908. #define IWMPacketSize2_GetMaxPacketSize(This,pdwMaxPacketSize)
  1909.     (This)->lpVtbl -> GetMaxPacketSize(This,pdwMaxPacketSize)
  1910. #define IWMPacketSize2_SetMaxPacketSize(This,dwMaxPacketSize)
  1911.     (This)->lpVtbl -> SetMaxPacketSize(This,dwMaxPacketSize)
  1912. #define IWMPacketSize2_GetMinPacketSize(This,pdwMinPacketSize)
  1913.     (This)->lpVtbl -> GetMinPacketSize(This,pdwMinPacketSize)
  1914. #define IWMPacketSize2_SetMinPacketSize(This,dwMinPacketSize)
  1915.     (This)->lpVtbl -> SetMinPacketSize(This,dwMinPacketSize)
  1916. #endif /* COBJMACROS */
  1917. #endif  /* C style interface */
  1918. HRESULT STDMETHODCALLTYPE IWMPacketSize2_GetMinPacketSize_Proxy( 
  1919.     IWMPacketSize2 * This,
  1920.     /* [out] */ DWORD *pdwMinPacketSize);
  1921. void __RPC_STUB IWMPacketSize2_GetMinPacketSize_Stub(
  1922.     IRpcStubBuffer *This,
  1923.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1924.     PRPC_MESSAGE _pRpcMessage,
  1925.     DWORD *_pdwStubPhase);
  1926. HRESULT STDMETHODCALLTYPE IWMPacketSize2_SetMinPacketSize_Proxy( 
  1927.     IWMPacketSize2 * This,
  1928.     /* [in] */ DWORD dwMinPacketSize);
  1929. void __RPC_STUB IWMPacketSize2_SetMinPacketSize_Stub(
  1930.     IRpcStubBuffer *This,
  1931.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1932.     PRPC_MESSAGE _pRpcMessage,
  1933.     DWORD *_pdwStubPhase);
  1934. #endif  /* __IWMPacketSize2_INTERFACE_DEFINED__ */
  1935. #ifndef __IWMStreamList_INTERFACE_DEFINED__
  1936. #define __IWMStreamList_INTERFACE_DEFINED__
  1937. /* interface IWMStreamList */
  1938. /* [local][unique][helpstring][uuid][object] */ 
  1939. EXTERN_C const IID IID_IWMStreamList;
  1940. #if defined(__cplusplus) && !defined(CINTERFACE)
  1941.     
  1942.     MIDL_INTERFACE("96406BDD-2B2B-11d3-B36B-00C04F6108FF")
  1943.     IWMStreamList : public IUnknown
  1944.     {
  1945.     public:
  1946.         virtual HRESULT STDMETHODCALLTYPE GetStreams( 
  1947.             /* [size_is][out] */ WORD *pwStreamNumArray,
  1948.             /* [out][in] */ WORD *pcStreams) = 0;
  1949.         
  1950.         virtual HRESULT STDMETHODCALLTYPE AddStream( 
  1951.             /* [in] */ WORD wStreamNum) = 0;
  1952.         
  1953.         virtual HRESULT STDMETHODCALLTYPE RemoveStream( 
  1954.             /* [in] */ WORD wStreamNum) = 0;
  1955.         
  1956.     };
  1957.     
  1958. #else  /* C style interface */
  1959.     typedef struct IWMStreamListVtbl
  1960.     {
  1961.         BEGIN_INTERFACE
  1962.         
  1963.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1964.             IWMStreamList * This,
  1965.             /* [in] */ REFIID riid,
  1966.             /* [iid_is][out] */ void **ppvObject);
  1967.         
  1968.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1969.             IWMStreamList * This);
  1970.         
  1971.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1972.             IWMStreamList * This);
  1973.         
  1974.         HRESULT ( STDMETHODCALLTYPE *GetStreams )( 
  1975.             IWMStreamList * This,
  1976.             /* [size_is][out] */ WORD *pwStreamNumArray,
  1977.             /* [out][in] */ WORD *pcStreams);
  1978.         
  1979.         HRESULT ( STDMETHODCALLTYPE *AddStream )( 
  1980.             IWMStreamList * This,
  1981.             /* [in] */ WORD wStreamNum);
  1982.         
  1983.         HRESULT ( STDMETHODCALLTYPE *RemoveStream )( 
  1984.             IWMStreamList * This,
  1985.             /* [in] */ WORD wStreamNum);
  1986.         
  1987.         END_INTERFACE
  1988.     } IWMStreamListVtbl;
  1989.     interface IWMStreamList
  1990.     {
  1991.         CONST_VTBL struct IWMStreamListVtbl *lpVtbl;
  1992.     };
  1993.     
  1994. #ifdef COBJMACROS
  1995. #define IWMStreamList_QueryInterface(This,riid,ppvObject)
  1996.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1997. #define IWMStreamList_AddRef(This)
  1998.     (This)->lpVtbl -> AddRef(This)
  1999. #define IWMStreamList_Release(This)
  2000.     (This)->lpVtbl -> Release(This)
  2001. #define IWMStreamList_GetStreams(This,pwStreamNumArray,pcStreams)
  2002.     (This)->lpVtbl -> GetStreams(This,pwStreamNumArray,pcStreams)
  2003. #define IWMStreamList_AddStream(This,wStreamNum)
  2004.     (This)->lpVtbl -> AddStream(This,wStreamNum)
  2005. #define IWMStreamList_RemoveStream(This,wStreamNum)
  2006.     (This)->lpVtbl -> RemoveStream(This,wStreamNum)
  2007. #endif /* COBJMACROS */
  2008. #endif  /* C style interface */
  2009. HRESULT STDMETHODCALLTYPE IWMStreamList_GetStreams_Proxy( 
  2010.     IWMStreamList * This,
  2011.     /* [size_is][out] */ WORD *pwStreamNumArray,
  2012.     /* [out][in] */ WORD *pcStreams);
  2013. void __RPC_STUB IWMStreamList_GetStreams_Stub(
  2014.     IRpcStubBuffer *This,
  2015.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2016.     PRPC_MESSAGE _pRpcMessage,
  2017.     DWORD *_pdwStubPhase);
  2018. HRESULT STDMETHODCALLTYPE IWMStreamList_AddStream_Proxy( 
  2019.     IWMStreamList * This,
  2020.     /* [in] */ WORD wStreamNum);
  2021. void __RPC_STUB IWMStreamList_AddStream_Stub(
  2022.     IRpcStubBuffer *This,
  2023.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2024.     PRPC_MESSAGE _pRpcMessage,
  2025.     DWORD *_pdwStubPhase);
  2026. HRESULT STDMETHODCALLTYPE IWMStreamList_RemoveStream_Proxy( 
  2027.     IWMStreamList * This,
  2028.     /* [in] */ WORD wStreamNum);
  2029. void __RPC_STUB IWMStreamList_RemoveStream_Stub(
  2030.     IRpcStubBuffer *This,
  2031.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2032.     PRPC_MESSAGE _pRpcMessage,
  2033.     DWORD *_pdwStubPhase);
  2034. #endif  /* __IWMStreamList_INTERFACE_DEFINED__ */
  2035. #ifndef __IWMMutualExclusion_INTERFACE_DEFINED__
  2036. #define __IWMMutualExclusion_INTERFACE_DEFINED__
  2037. /* interface IWMMutualExclusion */
  2038. /* [local][unique][helpstring][uuid][object] */ 
  2039. EXTERN_C const IID IID_IWMMutualExclusion;
  2040. #if defined(__cplusplus) && !defined(CINTERFACE)
  2041.     
  2042.     MIDL_INTERFACE("96406BDE-2B2B-11d3-B36B-00C04F6108FF")
  2043.     IWMMutualExclusion : public IWMStreamList
  2044.     {
  2045.     public:
  2046.         virtual HRESULT STDMETHODCALLTYPE GetType( 
  2047.             /* [out] */ GUID *pguidType) = 0;
  2048.         
  2049.         virtual HRESULT STDMETHODCALLTYPE SetType( 
  2050.             /* [in] */ REFGUID guidType) = 0;
  2051.         
  2052.     };
  2053.     
  2054. #else  /* C style interface */
  2055.     typedef struct IWMMutualExclusionVtbl
  2056.     {
  2057.         BEGIN_INTERFACE
  2058.         
  2059.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2060.             IWMMutualExclusion * This,
  2061.             /* [in] */ REFIID riid,
  2062.             /* [iid_is][out] */ void **ppvObject);
  2063.         
  2064.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2065.             IWMMutualExclusion * This);
  2066.         
  2067.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2068.             IWMMutualExclusion * This);
  2069.         
  2070.         HRESULT ( STDMETHODCALLTYPE *GetStreams )( 
  2071.             IWMMutualExclusion * This,
  2072.             /* [size_is][out] */ WORD *pwStreamNumArray,
  2073.             /* [out][in] */ WORD *pcStreams);
  2074.         
  2075.         HRESULT ( STDMETHODCALLTYPE *AddStream )( 
  2076.             IWMMutualExclusion * This,
  2077.             /* [in] */ WORD wStreamNum);
  2078.         
  2079.         HRESULT ( STDMETHODCALLTYPE *RemoveStream )( 
  2080.             IWMMutualExclusion * This,
  2081.             /* [in] */ WORD wStreamNum);
  2082.         
  2083.         HRESULT ( STDMETHODCALLTYPE *GetType )( 
  2084.             IWMMutualExclusion * This,
  2085.             /* [out] */ GUID *pguidType);
  2086.         
  2087.         HRESULT ( STDMETHODCALLTYPE *SetType )( 
  2088.             IWMMutualExclusion * This,
  2089.             /* [in] */ REFGUID guidType);
  2090.         
  2091.         END_INTERFACE
  2092.     } IWMMutualExclusionVtbl;
  2093.     interface IWMMutualExclusion
  2094.     {
  2095.         CONST_VTBL struct IWMMutualExclusionVtbl *lpVtbl;
  2096.     };
  2097.     
  2098. #ifdef COBJMACROS
  2099. #define IWMMutualExclusion_QueryInterface(This,riid,ppvObject)
  2100.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2101. #define IWMMutualExclusion_AddRef(This)
  2102.     (This)->lpVtbl -> AddRef(This)
  2103. #define IWMMutualExclusion_Release(This)
  2104.     (This)->lpVtbl -> Release(This)
  2105. #define IWMMutualExclusion_GetStreams(This,pwStreamNumArray,pcStreams)
  2106.     (This)->lpVtbl -> GetStreams(This,pwStreamNumArray,pcStreams)
  2107. #define IWMMutualExclusion_AddStream(This,wStreamNum)
  2108.     (This)->lpVtbl -> AddStream(This,wStreamNum)
  2109. #define IWMMutualExclusion_RemoveStream(This,wStreamNum)
  2110.     (This)->lpVtbl -> RemoveStream(This,wStreamNum)
  2111. #define IWMMutualExclusion_GetType(This,pguidType)
  2112.     (This)->lpVtbl -> GetType(This,pguidType)
  2113. #define IWMMutualExclusion_SetType(This,guidType)
  2114.     (This)->lpVtbl -> SetType(This,guidType)
  2115. #endif /* COBJMACROS */
  2116. #endif  /* C style interface */
  2117. HRESULT STDMETHODCALLTYPE IWMMutualExclusion_GetType_Proxy( 
  2118.     IWMMutualExclusion * This,
  2119.     /* [out] */ GUID *pguidType);
  2120. void __RPC_STUB IWMMutualExclusion_GetType_Stub(
  2121.     IRpcStubBuffer *This,
  2122.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2123.     PRPC_MESSAGE _pRpcMessage,
  2124.     DWORD *_pdwStubPhase);
  2125. HRESULT STDMETHODCALLTYPE IWMMutualExclusion_SetType_Proxy( 
  2126.     IWMMutualExclusion * This,
  2127.     /* [in] */ REFGUID guidType);
  2128. void __RPC_STUB IWMMutualExclusion_SetType_Stub(
  2129.     IRpcStubBuffer *This,
  2130.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2131.     PRPC_MESSAGE _pRpcMessage,
  2132.     DWORD *_pdwStubPhase);
  2133. #endif  /* __IWMMutualExclusion_INTERFACE_DEFINED__ */
  2134. #ifndef __IWMMutualExclusion2_INTERFACE_DEFINED__
  2135. #define __IWMMutualExclusion2_INTERFACE_DEFINED__
  2136. /* interface IWMMutualExclusion2 */
  2137. /* [local][unique][helpstring][uuid][object] */ 
  2138. EXTERN_C const IID IID_IWMMutualExclusion2;
  2139. #if defined(__cplusplus) && !defined(CINTERFACE)
  2140.     
  2141.     MIDL_INTERFACE("0302B57D-89D1-4ba2-85C9-166F2C53EB91")
  2142.     IWMMutualExclusion2 : public IWMMutualExclusion
  2143.     {
  2144.     public:
  2145.         virtual HRESULT STDMETHODCALLTYPE GetName( 
  2146.             /* [size_is][out] */ WCHAR *pwszName,
  2147.             /* [out][in] */ WORD *pcchName) = 0;
  2148.         
  2149.         virtual HRESULT STDMETHODCALLTYPE SetName( 
  2150.             /* [in] */ WCHAR *pwszName) = 0;
  2151.         
  2152.         virtual HRESULT STDMETHODCALLTYPE GetRecordCount( 
  2153.             /* [out] */ WORD *pwRecordCount) = 0;
  2154.         
  2155.         virtual HRESULT STDMETHODCALLTYPE AddRecord( void) = 0;
  2156.         
  2157.         virtual HRESULT STDMETHODCALLTYPE RemoveRecord( 
  2158.             /* [in] */ WORD wRecordNumber) = 0;
  2159.         
  2160.         virtual HRESULT STDMETHODCALLTYPE GetRecordName( 
  2161.             /* [in] */ WORD wRecordNumber,
  2162.             /* [size_is][out] */ WCHAR *pwszRecordName,
  2163.             /* [out][in] */ WORD *pcchRecordName) = 0;
  2164.         
  2165.         virtual HRESULT STDMETHODCALLTYPE SetRecordName( 
  2166.             /* [in] */ WORD wRecordNumber,
  2167.             /* [in] */ WCHAR *pwszRecordName) = 0;
  2168.         
  2169.         virtual HRESULT STDMETHODCALLTYPE GetStreamsForRecord( 
  2170.             /* [in] */ WORD wRecordNumber,
  2171.             /* [size_is][out] */ WORD *pwStreamNumArray,
  2172.             /* [out][in] */ WORD *pcStreams) = 0;
  2173.         
  2174.         virtual HRESULT STDMETHODCALLTYPE AddStreamForRecord( 
  2175.             /* [in] */ WORD wRecordNumber,
  2176.             /* [in] */ WORD wStreamNumber) = 0;
  2177.         
  2178.         virtual HRESULT STDMETHODCALLTYPE RemoveStreamForRecord( 
  2179.             /* [in] */ WORD wRecordNumber,
  2180.             /* [in] */ WORD wStreamNumber) = 0;
  2181.         
  2182.     };
  2183.     
  2184. #else  /* C style interface */
  2185.     typedef struct IWMMutualExclusion2Vtbl
  2186.     {
  2187.         BEGIN_INTERFACE
  2188.         
  2189.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2190.             IWMMutualExclusion2 * This,
  2191.             /* [in] */ REFIID riid,
  2192.             /* [iid_is][out] */ void **ppvObject);
  2193.         
  2194.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2195.             IWMMutualExclusion2 * This);
  2196.         
  2197.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2198.             IWMMutualExclusion2 * This);
  2199.         
  2200.         HRESULT ( STDMETHODCALLTYPE *GetStreams )( 
  2201.             IWMMutualExclusion2 * This,
  2202.             /* [size_is][out] */ WORD *pwStreamNumArray,
  2203.             /* [out][in] */ WORD *pcStreams);
  2204.         
  2205.         HRESULT ( STDMETHODCALLTYPE *AddStream )( 
  2206.             IWMMutualExclusion2 * This,
  2207.             /* [in] */ WORD wStreamNum);
  2208.         
  2209.         HRESULT ( STDMETHODCALLTYPE *RemoveStream )( 
  2210.             IWMMutualExclusion2 * This,
  2211.             /* [in] */ WORD wStreamNum);
  2212.         
  2213.         HRESULT ( STDMETHODCALLTYPE *GetType )( 
  2214.             IWMMutualExclusion2 * This,
  2215.             /* [out] */ GUID *pguidType);
  2216.         
  2217.         HRESULT ( STDMETHODCALLTYPE *SetType )( 
  2218.             IWMMutualExclusion2 * This,
  2219.             /* [in] */ REFGUID guidType);
  2220.         
  2221.         HRESULT ( STDMETHODCALLTYPE *GetName )( 
  2222.             IWMMutualExclusion2 * This,
  2223.             /* [size_is][out] */ WCHAR *pwszName,
  2224.             /* [out][in] */ WORD *pcchName);
  2225.         
  2226.         HRESULT ( STDMETHODCALLTYPE *SetName )( 
  2227.             IWMMutualExclusion2 * This,
  2228.             /* [in] */ WCHAR *pwszName);
  2229.         
  2230.         HRESULT ( STDMETHODCALLTYPE *GetRecordCount )( 
  2231.             IWMMutualExclusion2 * This,
  2232.             /* [out] */ WORD *pwRecordCount);
  2233.         
  2234.         HRESULT ( STDMETHODCALLTYPE *AddRecord )( 
  2235.             IWMMutualExclusion2 * This);
  2236.         
  2237.         HRESULT ( STDMETHODCALLTYPE *RemoveRecord )( 
  2238.             IWMMutualExclusion2 * This,
  2239.             /* [in] */ WORD wRecordNumber);
  2240.         
  2241.         HRESULT ( STDMETHODCALLTYPE *GetRecordName )( 
  2242.             IWMMutualExclusion2 * This,
  2243.             /* [in] */ WORD wRecordNumber,
  2244.             /* [size_is][out] */ WCHAR *pwszRecordName,
  2245.             /* [out][in] */ WORD *pcchRecordName);
  2246.         
  2247.         HRESULT ( STDMETHODCALLTYPE *SetRecordName )( 
  2248.             IWMMutualExclusion2 * This,
  2249.             /* [in] */ WORD wRecordNumber,
  2250.             /* [in] */ WCHAR *pwszRecordName);
  2251.         
  2252.         HRESULT ( STDMETHODCALLTYPE *GetStreamsForRecord )( 
  2253.             IWMMutualExclusion2 * This,
  2254.             /* [in] */ WORD wRecordNumber,
  2255.             /* [size_is][out] */ WORD *pwStreamNumArray,
  2256.             /* [out][in] */ WORD *pcStreams);
  2257.         
  2258.         HRESULT ( STDMETHODCALLTYPE *AddStreamForRecord )( 
  2259.             IWMMutualExclusion2 * This,
  2260.             /* [in] */ WORD wRecordNumber,
  2261.             /* [in] */ WORD wStreamNumber);
  2262.         
  2263.         HRESULT ( STDMETHODCALLTYPE *RemoveStreamForRecord )( 
  2264.             IWMMutualExclusion2 * This,
  2265.             /* [in] */ WORD wRecordNumber,
  2266.             /* [in] */ WORD wStreamNumber);
  2267.         
  2268.         END_INTERFACE
  2269.     } IWMMutualExclusion2Vtbl;
  2270.     interface IWMMutualExclusion2
  2271.     {
  2272.         CONST_VTBL struct IWMMutualExclusion2Vtbl *lpVtbl;
  2273.     };
  2274.     
  2275. #ifdef COBJMACROS
  2276. #define IWMMutualExclusion2_QueryInterface(This,riid,ppvObject)
  2277.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2278. #define IWMMutualExclusion2_AddRef(This)
  2279.     (This)->lpVtbl -> AddRef(This)
  2280. #define IWMMutualExclusion2_Release(This)
  2281.     (This)->lpVtbl -> Release(This)
  2282. #define IWMMutualExclusion2_GetStreams(This,pwStreamNumArray,pcStreams)
  2283.     (This)->lpVtbl -> GetStreams(This,pwStreamNumArray,pcStreams)
  2284. #define IWMMutualExclusion2_AddStream(This,wStreamNum)
  2285.     (This)->lpVtbl -> AddStream(This,wStreamNum)
  2286. #define IWMMutualExclusion2_RemoveStream(This,wStreamNum)
  2287.     (This)->lpVtbl -> RemoveStream(This,wStreamNum)
  2288. #define IWMMutualExclusion2_GetType(This,pguidType)
  2289.     (This)->lpVtbl -> GetType(This,pguidType)
  2290. #define IWMMutualExclusion2_SetType(This,guidType)
  2291.     (This)->lpVtbl -> SetType(This,guidType)
  2292. #define IWMMutualExclusion2_GetName(This,pwszName,pcchName)
  2293.     (This)->lpVtbl -> GetName(This,pwszName,pcchName)
  2294. #define IWMMutualExclusion2_SetName(This,pwszName)
  2295.     (This)->lpVtbl -> SetName(This,pwszName)
  2296. #define IWMMutualExclusion2_GetRecordCount(This,pwRecordCount)
  2297.     (This)->lpVtbl -> GetRecordCount(This,pwRecordCount)
  2298. #define IWMMutualExclusion2_AddRecord(This)
  2299.     (This)->lpVtbl -> AddRecord(This)
  2300. #define IWMMutualExclusion2_RemoveRecord(This,wRecordNumber)
  2301.     (This)->lpVtbl -> RemoveRecord(This,wRecordNumber)
  2302. #define IWMMutualExclusion2_GetRecordName(This,wRecordNumber,pwszRecordName,pcchRecordName)
  2303.     (This)->lpVtbl -> GetRecordName(This,wRecordNumber,pwszRecordName,pcchRecordName)
  2304. #define IWMMutualExclusion2_SetRecordName(This,wRecordNumber,pwszRecordName)
  2305.     (This)->lpVtbl -> SetRecordName(This,wRecordNumber,pwszRecordName)
  2306. #define IWMMutualExclusion2_GetStreamsForRecord(This,wRecordNumber,pwStreamNumArray,pcStreams)
  2307.     (This)->lpVtbl -> GetStreamsForRecord(This,wRecordNumber,pwStreamNumArray,pcStreams)
  2308. #define IWMMutualExclusion2_AddStreamForRecord(This,wRecordNumber,wStreamNumber)
  2309.     (This)->lpVtbl -> AddStreamForRecord(This,wRecordNumber,wStreamNumber)
  2310. #define IWMMutualExclusion2_RemoveStreamForRecord(This,wRecordNumber,wStreamNumber)
  2311.     (This)->lpVtbl -> RemoveStreamForRecord(This,wRecordNumber,wStreamNumber)
  2312. #endif /* COBJMACROS */
  2313. #endif  /* C style interface */
  2314. HRESULT STDMETHODCALLTYPE IWMMutualExclusion2_GetName_Proxy( 
  2315.     IWMMutualExclusion2 * This,
  2316.     /* [size_is][out] */ WCHAR *pwszName,
  2317.     /* [out][in] */ WORD *pcchName);
  2318. void __RPC_STUB IWMMutualExclusion2_GetName_Stub(
  2319.     IRpcStubBuffer *This,
  2320.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2321.     PRPC_MESSAGE _pRpcMessage,
  2322.     DWORD *_pdwStubPhase);
  2323. HRESULT STDMETHODCALLTYPE IWMMutualExclusion2_SetName_Proxy( 
  2324.     IWMMutualExclusion2 * This,
  2325.     /* [in] */ WCHAR *pwszName);
  2326. void __RPC_STUB IWMMutualExclusion2_SetName_Stub(
  2327.     IRpcStubBuffer *This,
  2328.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2329.     PRPC_MESSAGE _pRpcMessage,
  2330.     DWORD *_pdwStubPhase);
  2331. HRESULT STDMETHODCALLTYPE IWMMutualExclusion2_GetRecordCount_Proxy( 
  2332.     IWMMutualExclusion2 * This,
  2333.     /* [out] */ WORD *pwRecordCount);
  2334. void __RPC_STUB IWMMutualExclusion2_GetRecordCount_Stub(
  2335.     IRpcStubBuffer *This,
  2336.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2337.     PRPC_MESSAGE _pRpcMessage,
  2338.     DWORD *_pdwStubPhase);
  2339. HRESULT STDMETHODCALLTYPE IWMMutualExclusion2_AddRecord_Proxy( 
  2340.     IWMMutualExclusion2 * This);
  2341. void __RPC_STUB IWMMutualExclusion2_AddRecord_Stub(
  2342.     IRpcStubBuffer *This,
  2343.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2344.     PRPC_MESSAGE _pRpcMessage,
  2345.     DWORD *_pdwStubPhase);
  2346. HRESULT STDMETHODCALLTYPE IWMMutualExclusion2_RemoveRecord_Proxy( 
  2347.     IWMMutualExclusion2 * This,
  2348.     /* [in] */ WORD wRecordNumber);
  2349. void __RPC_STUB IWMMutualExclusion2_RemoveRecord_Stub(
  2350.     IRpcStubBuffer *This,
  2351.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2352.     PRPC_MESSAGE _pRpcMessage,
  2353.     DWORD *_pdwStubPhase);
  2354. HRESULT STDMETHODCALLTYPE IWMMutualExclusion2_GetRecordName_Proxy( 
  2355.     IWMMutualExclusion2 * This,
  2356.     /* [in] */ WORD wRecordNumber,
  2357.     /* [size_is][out] */ WCHAR *pwszRecordName,
  2358.     /* [out][in] */ WORD *pcchRecordName);
  2359. void __RPC_STUB IWMMutualExclusion2_GetRecordName_Stub(
  2360.     IRpcStubBuffer *This,
  2361.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2362.     PRPC_MESSAGE _pRpcMessage,
  2363.     DWORD *_pdwStubPhase);
  2364. HRESULT STDMETHODCALLTYPE IWMMutualExclusion2_SetRecordName_Proxy( 
  2365.     IWMMutualExclusion2 * This,
  2366.     /* [in] */ WORD wRecordNumber,
  2367.     /* [in] */ WCHAR *pwszRecordName);
  2368. void __RPC_STUB IWMMutualExclusion2_SetRecordName_Stub(
  2369.     IRpcStubBuffer *This,
  2370.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2371.     PRPC_MESSAGE _pRpcMessage,
  2372.     DWORD *_pdwStubPhase);
  2373. HRESULT STDMETHODCALLTYPE IWMMutualExclusion2_GetStreamsForRecord_Proxy( 
  2374.     IWMMutualExclusion2 * This,
  2375.     /* [in] */ WORD wRecordNumber,
  2376.     /* [size_is][out] */ WORD *pwStreamNumArray,
  2377.     /* [out][in] */ WORD *pcStreams);
  2378. void __RPC_STUB IWMMutualExclusion2_GetStreamsForRecord_Stub(
  2379.     IRpcStubBuffer *This,
  2380.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2381.     PRPC_MESSAGE _pRpcMessage,
  2382.     DWORD *_pdwStubPhase);
  2383. HRESULT STDMETHODCALLTYPE IWMMutualExclusion2_AddStreamForRecord_Proxy( 
  2384.     IWMMutualExclusion2 * This,
  2385.     /* [in] */ WORD wRecordNumber,
  2386.     /* [in] */ WORD wStreamNumber);
  2387. void __RPC_STUB IWMMutualExclusion2_AddStreamForRecord_Stub(
  2388.     IRpcStubBuffer *This,
  2389.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2390.     PRPC_MESSAGE _pRpcMessage,
  2391.     DWORD *_pdwStubPhase);
  2392. HRESULT STDMETHODCALLTYPE IWMMutualExclusion2_RemoveStreamForRecord_Proxy( 
  2393.     IWMMutualExclusion2 * This,
  2394.     /* [in] */ WORD wRecordNumber,
  2395.     /* [in] */ WORD wStreamNumber);
  2396. void __RPC_STUB IWMMutualExclusion2_RemoveStreamForRecord_Stub(
  2397.     IRpcStubBuffer *This,
  2398.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2399.     PRPC_MESSAGE _pRpcMessage,
  2400.     DWORD *_pdwStubPhase);
  2401. #endif  /* __IWMMutualExclusion2_INTERFACE_DEFINED__ */
  2402. #ifndef __IWMBandwidthSharing_INTERFACE_DEFINED__
  2403. #define __IWMBandwidthSharing_INTERFACE_DEFINED__
  2404. /* interface IWMBandwidthSharing */
  2405. /* [local][unique][helpstring][uuid][object] */ 
  2406. EXTERN_C const IID IID_IWMBandwidthSharing;
  2407. #if defined(__cplusplus) && !defined(CINTERFACE)
  2408.     
  2409.     MIDL_INTERFACE("AD694AF1-F8D9-42F8-BC47-70311B0C4F9E")
  2410.     IWMBandwidthSharing : public IWMStreamList
  2411.     {
  2412.     public:
  2413.         virtual HRESULT STDMETHODCALLTYPE GetType( 
  2414.             /* [out] */ GUID *pguidType) = 0;
  2415.         
  2416.         virtual HRESULT STDMETHODCALLTYPE SetType( 
  2417.             /* [in] */ REFGUID guidType) = 0;
  2418.         
  2419.         virtual HRESULT STDMETHODCALLTYPE GetBandwidth( 
  2420.             /* [out] */ DWORD *pdwBitrate,
  2421.             /* [out] */ DWORD *pmsBufferWindow) = 0;
  2422.         
  2423.         virtual HRESULT STDMETHODCALLTYPE SetBandwidth( 
  2424.             /* [in] */ DWORD dwBitrate,
  2425.             /* [in] */ DWORD msBufferWindow) = 0;
  2426.         
  2427.     };
  2428.     
  2429. #else  /* C style interface */
  2430.     typedef struct IWMBandwidthSharingVtbl
  2431.     {
  2432.         BEGIN_INTERFACE
  2433.         
  2434.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2435.             IWMBandwidthSharing * This,
  2436.             /* [in] */ REFIID riid,
  2437.             /* [iid_is][out] */ void **ppvObject);
  2438.         
  2439.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2440.             IWMBandwidthSharing * This);
  2441.         
  2442.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2443.             IWMBandwidthSharing * This);
  2444.         
  2445.         HRESULT ( STDMETHODCALLTYPE *GetStreams )( 
  2446.             IWMBandwidthSharing * This,
  2447.             /* [size_is][out] */ WORD *pwStreamNumArray,
  2448.             /* [out][in] */ WORD *pcStreams);
  2449.         
  2450.         HRESULT ( STDMETHODCALLTYPE *AddStream )( 
  2451.             IWMBandwidthSharing * This,
  2452.             /* [in] */ WORD wStreamNum);
  2453.         
  2454.         HRESULT ( STDMETHODCALLTYPE *RemoveStream )( 
  2455.             IWMBandwidthSharing * This,
  2456.             /* [in] */ WORD wStreamNum);
  2457.         
  2458.         HRESULT ( STDMETHODCALLTYPE *GetType )( 
  2459.             IWMBandwidthSharing * This,
  2460.             /* [out] */ GUID *pguidType);
  2461.         
  2462.         HRESULT ( STDMETHODCALLTYPE *SetType )( 
  2463.             IWMBandwidthSharing * This,
  2464.             /* [in] */ REFGUID guidType);
  2465.         
  2466.         HRESULT ( STDMETHODCALLTYPE *GetBandwidth )( 
  2467.             IWMBandwidthSharing * This,
  2468.             /* [out] */ DWORD *pdwBitrate,
  2469.             /* [out] */ DWORD *pmsBufferWindow);
  2470.         
  2471.         HRESULT ( STDMETHODCALLTYPE *SetBandwidth )( 
  2472.             IWMBandwidthSharing * This,
  2473.             /* [in] */ DWORD dwBitrate,
  2474.             /* [in] */ DWORD msBufferWindow);
  2475.         
  2476.         END_INTERFACE
  2477.     } IWMBandwidthSharingVtbl;
  2478.     interface IWMBandwidthSharing
  2479.     {
  2480.         CONST_VTBL struct IWMBandwidthSharingVtbl *lpVtbl;
  2481.     };
  2482.     
  2483. #ifdef COBJMACROS
  2484. #define IWMBandwidthSharing_QueryInterface(This,riid,ppvObject)
  2485.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2486. #define IWMBandwidthSharing_AddRef(This)
  2487.     (This)->lpVtbl -> AddRef(This)
  2488. #define IWMBandwidthSharing_Release(This)
  2489.     (This)->lpVtbl -> Release(This)
  2490. #define IWMBandwidthSharing_GetStreams(This,pwStreamNumArray,pcStreams)
  2491.     (This)->lpVtbl -> GetStreams(This,pwStreamNumArray,pcStreams)
  2492. #define IWMBandwidthSharing_AddStream(This,wStreamNum)
  2493.     (This)->lpVtbl -> AddStream(This,wStreamNum)
  2494. #define IWMBandwidthSharing_RemoveStream(This,wStreamNum)
  2495.     (This)->lpVtbl -> RemoveStream(This,wStreamNum)
  2496. #define IWMBandwidthSharing_GetType(This,pguidType)
  2497.     (This)->lpVtbl -> GetType(This,pguidType)
  2498. #define IWMBandwidthSharing_SetType(This,guidType)
  2499.     (This)->lpVtbl -> SetType(This,guidType)
  2500. #define IWMBandwidthSharing_GetBandwidth(This,pdwBitrate,pmsBufferWindow)
  2501.     (This)->lpVtbl -> GetBandwidth(This,pdwBitrate,pmsBufferWindow)
  2502. #define IWMBandwidthSharing_SetBandwidth(This,dwBitrate,msBufferWindow)
  2503.     (This)->lpVtbl -> SetBandwidth(This,dwBitrate,msBufferWindow)
  2504. #endif /* COBJMACROS */
  2505. #endif  /* C style interface */
  2506. HRESULT STDMETHODCALLTYPE IWMBandwidthSharing_GetType_Proxy( 
  2507.     IWMBandwidthSharing * This,
  2508.     /* [out] */ GUID *pguidType);
  2509. void __RPC_STUB IWMBandwidthSharing_GetType_Stub(
  2510.     IRpcStubBuffer *This,
  2511.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2512.     PRPC_MESSAGE _pRpcMessage,
  2513.     DWORD *_pdwStubPhase);
  2514. HRESULT STDMETHODCALLTYPE IWMBandwidthSharing_SetType_Proxy( 
  2515.     IWMBandwidthSharing * This,
  2516.     /* [in] */ REFGUID guidType);
  2517. void __RPC_STUB IWMBandwidthSharing_SetType_Stub(
  2518.     IRpcStubBuffer *This,
  2519.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2520.     PRPC_MESSAGE _pRpcMessage,
  2521.     DWORD *_pdwStubPhase);
  2522. HRESULT STDMETHODCALLTYPE IWMBandwidthSharing_GetBandwidth_Proxy( 
  2523.     IWMBandwidthSharing * This,
  2524.     /* [out] */ DWORD *pdwBitrate,
  2525.     /* [out] */ DWORD *pmsBufferWindow);
  2526. void __RPC_STUB IWMBandwidthSharing_GetBandwidth_Stub(
  2527.     IRpcStubBuffer *This,
  2528.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2529.     PRPC_MESSAGE _pRpcMessage,
  2530.     DWORD *_pdwStubPhase);
  2531. HRESULT STDMETHODCALLTYPE IWMBandwidthSharing_SetBandwidth_Proxy( 
  2532.     IWMBandwidthSharing * This,
  2533.     /* [in] */ DWORD dwBitrate,
  2534.     /* [in] */ DWORD msBufferWindow);
  2535. void __RPC_STUB IWMBandwidthSharing_SetBandwidth_Stub(
  2536.     IRpcStubBuffer *This,
  2537.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2538.     PRPC_MESSAGE _pRpcMessage,
  2539.     DWORD *_pdwStubPhase);