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

模拟服务器

开发平台:

C/C++

  1. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for chanmgr.idl:
  5.     Oicf, W1, Zp8, env=Win32 (32b run)
  6.     protocol : dce , ms_ext, c_ext
  7.     error checks: allocation ref bounds_check enum stub_data 
  8.     VC __declspec() decoration level: 
  9.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10.          DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __chanmgr_h__
  20. #define __chanmgr_h__
  21. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  22. #pragma once
  23. #endif
  24. /* Forward Declarations */ 
  25. #ifndef __IChannelMgr_FWD_DEFINED__
  26. #define __IChannelMgr_FWD_DEFINED__
  27. typedef interface IChannelMgr IChannelMgr;
  28. #endif  /* __IChannelMgr_FWD_DEFINED__ */
  29. #ifndef __IEnumChannels_FWD_DEFINED__
  30. #define __IEnumChannels_FWD_DEFINED__
  31. typedef interface IEnumChannels IEnumChannels;
  32. #endif  /* __IEnumChannels_FWD_DEFINED__ */
  33. #ifndef __ChannelMgr_FWD_DEFINED__
  34. #define __ChannelMgr_FWD_DEFINED__
  35. #ifdef __cplusplus
  36. typedef class ChannelMgr ChannelMgr;
  37. #else
  38. typedef struct ChannelMgr ChannelMgr;
  39. #endif /* __cplusplus */
  40. #endif  /* __ChannelMgr_FWD_DEFINED__ */
  41. /* header files for imported files */
  42. #include "unknwn.h"
  43. #ifdef __cplusplus
  44. extern "C"{
  45. #endif 
  46. void * __RPC_USER MIDL_user_allocate(size_t);
  47. void __RPC_USER MIDL_user_free( void * ); 
  48. /* interface __MIDL_itf_chanmgr_0000 */
  49. /* [local] */ 
  50. //=--------------------------------------------------------------------------=
  51. // chanmgr.h
  52. //=--------------------------------------------------------------------------=
  53. // Copyright (c) Microsoft Corporation. All rights reserved.
  54. //
  55. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  56. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  57. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  58. // PARTICULAR PURPOSE.
  59. //=--------------------------------------------------------------------------=
  60. #pragma comment(lib,"uuid.lib")
  61. //---------------------------------------------------------------------------=
  62. // Channel Manager Interfaces.
  63. extern RPC_IF_HANDLE __MIDL_itf_chanmgr_0000_v0_0_c_ifspec;
  64. extern RPC_IF_HANDLE __MIDL_itf_chanmgr_0000_v0_0_s_ifspec;
  65. #ifndef __CHANNELMGR_LIBRARY_DEFINED__
  66. #define __CHANNELMGR_LIBRARY_DEFINED__
  67. /* library CHANNELMGR */
  68. /* [version][lcid][helpstring][uuid] */ 
  69. EXTERN_C const IID LIBID_CHANNELMGR;
  70. #ifndef __IChannelMgr_INTERFACE_DEFINED__
  71. #define __IChannelMgr_INTERFACE_DEFINED__
  72. /* interface IChannelMgr */
  73. /* [object][helpstring][uuid] */ 
  74. typedef struct _tagChannelShortcutInfo
  75.     {
  76.     DWORD cbSize;
  77.     LPWSTR pszTitle;
  78.     LPWSTR pszURL;
  79.     LPWSTR pszLogo;
  80.     LPWSTR pszIcon;
  81.     LPWSTR pszWideLogo;
  82.     BOOL bIsSoftware;
  83.     }  CHANNELSHORTCUTINFO;
  84. typedef struct _tagChannelCategoryInfo
  85.     {
  86.     DWORD cbSize;
  87.     LPWSTR pszTitle;
  88.     LPWSTR pszURL;
  89.     LPWSTR pszLogo;
  90.     LPWSTR pszIcon;
  91.     LPWSTR pszWideLogo;
  92.     }  CHANNELCATEGORYINFO;
  93. typedef 
  94. enum _tagChannelEnumFlags
  95.     { CHANENUM_CHANNELFOLDER = 0x1,
  96. CHANENUM_SOFTUPDATEFOLDER = 0x2,
  97. CHANENUM_DESKTOPFOLDER = 0x4,
  98. CHANENUM_TITLE = 0x10000,
  99. CHANENUM_PATH = 0x20000,
  100. CHANENUM_URL = 0x40000,
  101. CHANENUM_SUBSCRIBESTATE = 0x80000
  102.     }  CHANNELENUMFLAGS;
  103. #define CHANENUM_ALLFOLDERS (CHANENUM_CHANNELFOLDER    |    
  104.                              CHANENUM_SOFTUPDATEFOLDER |    
  105.                              CHANENUM_DESKTOPFOLDER          )
  106. #define CHANENUM_ALLDATA    (CHANENUM_TITLE            |    
  107.                              CHANENUM_PATH             |    
  108.                              CHANENUM_URL              |    
  109.                              CHANENUM_SUBSCRIBESTATE         )
  110. #define CHANENUM_ALL        (CHANENUM_CHANNELFOLDER    |    
  111.                              CHANENUM_SOFTUPDATEFOLDER |    
  112.                              CHANENUM_DESKTOPFOLDER    |    
  113.                              CHANENUM_TITLE            |    
  114.                              CHANENUM_PATH             |    
  115.                              CHANENUM_URL              |    
  116.                              CHANENUM_SUBSCRIBESTATE         )
  117. EXTERN_C const IID IID_IChannelMgr;
  118. #if defined(__cplusplus) && !defined(CINTERFACE)
  119.     
  120.     MIDL_INTERFACE("85BD8E82-0FBA-11d1-90C3-00C04FC2F568")
  121.     IChannelMgr : public IUnknown
  122.     {
  123.     public:
  124.         virtual HRESULT STDMETHODCALLTYPE AddChannelShortcut( 
  125.             /* [in] */ CHANNELSHORTCUTINFO *pChannelInfo) = 0;
  126.         
  127.         virtual HRESULT STDMETHODCALLTYPE DeleteChannelShortcut( 
  128.             /* [in] */ LPWSTR pszTitle) = 0;
  129.         
  130.         virtual HRESULT STDMETHODCALLTYPE AddCategory( 
  131.             /* [in] */ CHANNELCATEGORYINFO *pCategoryInfo) = 0;
  132.         
  133.         virtual HRESULT STDMETHODCALLTYPE DeleteCategory( 
  134.             /* [in] */ LPWSTR pszTitle) = 0;
  135.         
  136.         virtual HRESULT STDMETHODCALLTYPE EnumChannels( 
  137.             /* [in] */ DWORD dwEnumFlags,
  138.             /* [in] */ LPCWSTR pszURL,
  139.             /* [out] */ IEnumChannels **pIEnumChannels) = 0;
  140.         
  141.     };
  142.     
  143. #else  /* C style interface */
  144.     typedef struct IChannelMgrVtbl
  145.     {
  146.         BEGIN_INTERFACE
  147.         
  148.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  149.             IChannelMgr * This,
  150.             /* [in] */ REFIID riid,
  151.             /* [iid_is][out] */ void **ppvObject);
  152.         
  153.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  154.             IChannelMgr * This);
  155.         
  156.         ULONG ( STDMETHODCALLTYPE *Release )( 
  157.             IChannelMgr * This);
  158.         
  159.         HRESULT ( STDMETHODCALLTYPE *AddChannelShortcut )( 
  160.             IChannelMgr * This,
  161.             /* [in] */ CHANNELSHORTCUTINFO *pChannelInfo);
  162.         
  163.         HRESULT ( STDMETHODCALLTYPE *DeleteChannelShortcut )( 
  164.             IChannelMgr * This,
  165.             /* [in] */ LPWSTR pszTitle);
  166.         
  167.         HRESULT ( STDMETHODCALLTYPE *AddCategory )( 
  168.             IChannelMgr * This,
  169.             /* [in] */ CHANNELCATEGORYINFO *pCategoryInfo);
  170.         
  171.         HRESULT ( STDMETHODCALLTYPE *DeleteCategory )( 
  172.             IChannelMgr * This,
  173.             /* [in] */ LPWSTR pszTitle);
  174.         
  175.         HRESULT ( STDMETHODCALLTYPE *EnumChannels )( 
  176.             IChannelMgr * This,
  177.             /* [in] */ DWORD dwEnumFlags,
  178.             /* [in] */ LPCWSTR pszURL,
  179.             /* [out] */ IEnumChannels **pIEnumChannels);
  180.         
  181.         END_INTERFACE
  182.     } IChannelMgrVtbl;
  183.     interface IChannelMgr
  184.     {
  185.         CONST_VTBL struct IChannelMgrVtbl *lpVtbl;
  186.     };
  187.     
  188. #ifdef COBJMACROS
  189. #define IChannelMgr_QueryInterface(This,riid,ppvObject)
  190.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  191. #define IChannelMgr_AddRef(This)
  192.     (This)->lpVtbl -> AddRef(This)
  193. #define IChannelMgr_Release(This)
  194.     (This)->lpVtbl -> Release(This)
  195. #define IChannelMgr_AddChannelShortcut(This,pChannelInfo)
  196.     (This)->lpVtbl -> AddChannelShortcut(This,pChannelInfo)
  197. #define IChannelMgr_DeleteChannelShortcut(This,pszTitle)
  198.     (This)->lpVtbl -> DeleteChannelShortcut(This,pszTitle)
  199. #define IChannelMgr_AddCategory(This,pCategoryInfo)
  200.     (This)->lpVtbl -> AddCategory(This,pCategoryInfo)
  201. #define IChannelMgr_DeleteCategory(This,pszTitle)
  202.     (This)->lpVtbl -> DeleteCategory(This,pszTitle)
  203. #define IChannelMgr_EnumChannels(This,dwEnumFlags,pszURL,pIEnumChannels)
  204.     (This)->lpVtbl -> EnumChannels(This,dwEnumFlags,pszURL,pIEnumChannels)
  205. #endif /* COBJMACROS */
  206. #endif  /* C style interface */
  207. HRESULT STDMETHODCALLTYPE IChannelMgr_AddChannelShortcut_Proxy( 
  208.     IChannelMgr * This,
  209.     /* [in] */ CHANNELSHORTCUTINFO *pChannelInfo);
  210. void __RPC_STUB IChannelMgr_AddChannelShortcut_Stub(
  211.     IRpcStubBuffer *This,
  212.     IRpcChannelBuffer *_pRpcChannelBuffer,
  213.     PRPC_MESSAGE _pRpcMessage,
  214.     DWORD *_pdwStubPhase);
  215. HRESULT STDMETHODCALLTYPE IChannelMgr_DeleteChannelShortcut_Proxy( 
  216.     IChannelMgr * This,
  217.     /* [in] */ LPWSTR pszTitle);
  218. void __RPC_STUB IChannelMgr_DeleteChannelShortcut_Stub(
  219.     IRpcStubBuffer *This,
  220.     IRpcChannelBuffer *_pRpcChannelBuffer,
  221.     PRPC_MESSAGE _pRpcMessage,
  222.     DWORD *_pdwStubPhase);
  223. HRESULT STDMETHODCALLTYPE IChannelMgr_AddCategory_Proxy( 
  224.     IChannelMgr * This,
  225.     /* [in] */ CHANNELCATEGORYINFO *pCategoryInfo);
  226. void __RPC_STUB IChannelMgr_AddCategory_Stub(
  227.     IRpcStubBuffer *This,
  228.     IRpcChannelBuffer *_pRpcChannelBuffer,
  229.     PRPC_MESSAGE _pRpcMessage,
  230.     DWORD *_pdwStubPhase);
  231. HRESULT STDMETHODCALLTYPE IChannelMgr_DeleteCategory_Proxy( 
  232.     IChannelMgr * This,
  233.     /* [in] */ LPWSTR pszTitle);
  234. void __RPC_STUB IChannelMgr_DeleteCategory_Stub(
  235.     IRpcStubBuffer *This,
  236.     IRpcChannelBuffer *_pRpcChannelBuffer,
  237.     PRPC_MESSAGE _pRpcMessage,
  238.     DWORD *_pdwStubPhase);
  239. HRESULT STDMETHODCALLTYPE IChannelMgr_EnumChannels_Proxy( 
  240.     IChannelMgr * This,
  241.     /* [in] */ DWORD dwEnumFlags,
  242.     /* [in] */ LPCWSTR pszURL,
  243.     /* [out] */ IEnumChannels **pIEnumChannels);
  244. void __RPC_STUB IChannelMgr_EnumChannels_Stub(
  245.     IRpcStubBuffer *This,
  246.     IRpcChannelBuffer *_pRpcChannelBuffer,
  247.     PRPC_MESSAGE _pRpcMessage,
  248.     DWORD *_pdwStubPhase);
  249. #endif  /* __IChannelMgr_INTERFACE_DEFINED__ */
  250. #ifndef __IEnumChannels_INTERFACE_DEFINED__
  251. #define __IEnumChannels_INTERFACE_DEFINED__
  252. /* interface IEnumChannels */
  253. /* [object][helpstring][uuid] */ 
  254. typedef 
  255. enum _tagSubcriptionState
  256.     { SUBSTATE_NOTSUBSCRIBED = 0,
  257. SUBSTATE_PARTIALSUBSCRIPTION = SUBSTATE_NOTSUBSCRIBED + 1,
  258. SUBSTATE_FULLSUBSCRIPTION = SUBSTATE_PARTIALSUBSCRIPTION + 1
  259.     }  SUBSCRIPTIONSTATE;
  260. typedef struct _tagChannelInfo
  261.     {
  262.     LPOLESTR pszTitle;
  263.     LPOLESTR pszPath;
  264.     LPOLESTR pszURL;
  265.     SUBSCRIPTIONSTATE stSubscriptionState;
  266.     }  CHANNELENUMINFO;
  267. EXTERN_C const IID IID_IEnumChannels;
  268. #if defined(__cplusplus) && !defined(CINTERFACE)
  269.     
  270.     MIDL_INTERFACE("A4C65425-0F82-11d1-90C3-00C04FC2F568")
  271.     IEnumChannels : public IUnknown
  272.     {
  273.     public:
  274.         virtual HRESULT STDMETHODCALLTYPE Next( 
  275.             ULONG celt,
  276.             CHANNELENUMINFO *rgChanInf,
  277.             ULONG *pceltFetched) = 0;
  278.         
  279.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  280.             ULONG celt) = 0;
  281.         
  282.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  283.         
  284.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  285.             IEnumChannels **ppenum) = 0;
  286.         
  287.     };
  288.     
  289. #else  /* C style interface */
  290.     typedef struct IEnumChannelsVtbl
  291.     {
  292.         BEGIN_INTERFACE
  293.         
  294.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  295.             IEnumChannels * This,
  296.             /* [in] */ REFIID riid,
  297.             /* [iid_is][out] */ void **ppvObject);
  298.         
  299.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  300.             IEnumChannels * This);
  301.         
  302.         ULONG ( STDMETHODCALLTYPE *Release )( 
  303.             IEnumChannels * This);
  304.         
  305.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  306.             IEnumChannels * This,
  307.             ULONG celt,
  308.             CHANNELENUMINFO *rgChanInf,
  309.             ULONG *pceltFetched);
  310.         
  311.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  312.             IEnumChannels * This,
  313.             ULONG celt);
  314.         
  315.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  316.             IEnumChannels * This);
  317.         
  318.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  319.             IEnumChannels * This,
  320.             IEnumChannels **ppenum);
  321.         
  322.         END_INTERFACE
  323.     } IEnumChannelsVtbl;
  324.     interface IEnumChannels
  325.     {
  326.         CONST_VTBL struct IEnumChannelsVtbl *lpVtbl;
  327.     };
  328.     
  329. #ifdef COBJMACROS
  330. #define IEnumChannels_QueryInterface(This,riid,ppvObject)
  331.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  332. #define IEnumChannels_AddRef(This)
  333.     (This)->lpVtbl -> AddRef(This)
  334. #define IEnumChannels_Release(This)
  335.     (This)->lpVtbl -> Release(This)
  336. #define IEnumChannels_Next(This,celt,rgChanInf,pceltFetched)
  337.     (This)->lpVtbl -> Next(This,celt,rgChanInf,pceltFetched)
  338. #define IEnumChannels_Skip(This,celt)
  339.     (This)->lpVtbl -> Skip(This,celt)
  340. #define IEnumChannels_Reset(This)
  341.     (This)->lpVtbl -> Reset(This)
  342. #define IEnumChannels_Clone(This,ppenum)
  343.     (This)->lpVtbl -> Clone(This,ppenum)
  344. #endif /* COBJMACROS */
  345. #endif  /* C style interface */
  346. HRESULT STDMETHODCALLTYPE IEnumChannels_Next_Proxy( 
  347.     IEnumChannels * This,
  348.     ULONG celt,
  349.     CHANNELENUMINFO *rgChanInf,
  350.     ULONG *pceltFetched);
  351. void __RPC_STUB IEnumChannels_Next_Stub(
  352.     IRpcStubBuffer *This,
  353.     IRpcChannelBuffer *_pRpcChannelBuffer,
  354.     PRPC_MESSAGE _pRpcMessage,
  355.     DWORD *_pdwStubPhase);
  356. HRESULT STDMETHODCALLTYPE IEnumChannels_Skip_Proxy( 
  357.     IEnumChannels * This,
  358.     ULONG celt);
  359. void __RPC_STUB IEnumChannels_Skip_Stub(
  360.     IRpcStubBuffer *This,
  361.     IRpcChannelBuffer *_pRpcChannelBuffer,
  362.     PRPC_MESSAGE _pRpcMessage,
  363.     DWORD *_pdwStubPhase);
  364. HRESULT STDMETHODCALLTYPE IEnumChannels_Reset_Proxy( 
  365.     IEnumChannels * This);
  366. void __RPC_STUB IEnumChannels_Reset_Stub(
  367.     IRpcStubBuffer *This,
  368.     IRpcChannelBuffer *_pRpcChannelBuffer,
  369.     PRPC_MESSAGE _pRpcMessage,
  370.     DWORD *_pdwStubPhase);
  371. HRESULT STDMETHODCALLTYPE IEnumChannels_Clone_Proxy( 
  372.     IEnumChannels * This,
  373.     IEnumChannels **ppenum);
  374. void __RPC_STUB IEnumChannels_Clone_Stub(
  375.     IRpcStubBuffer *This,
  376.     IRpcChannelBuffer *_pRpcChannelBuffer,
  377.     PRPC_MESSAGE _pRpcMessage,
  378.     DWORD *_pdwStubPhase);
  379. #endif  /* __IEnumChannels_INTERFACE_DEFINED__ */
  380. EXTERN_C const CLSID CLSID_ChannelMgr;
  381. #ifdef __cplusplus
  382. class DECLSPEC_UUID("b3cdae90-d170-11d0-802b-00c04fd75d13")
  383. ChannelMgr;
  384. #endif
  385. #endif /* __CHANNELMGR_LIBRARY_DEFINED__ */
  386. /* Additional Prototypes for ALL interfaces */
  387. /* end of Additional Prototypes */
  388. #ifdef __cplusplus
  389. }
  390. #endif
  391. #endif