home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / chanmgr.h < prev    next >
C/C++ Source or Header  |  1998-04-25  |  15KB  |  535 lines

  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2.  
  3.  
  4. /* File created by MIDL compiler version 3.02.88 */
  5. /* at Mon Nov 17 12:05:10 1997
  6.  */
  7. /* Compiler settings for chanmgr.idl:
  8.     Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
  9.     error checks: none
  10. */
  11. //@@MIDL_FILE_HEADING(  )
  12. #include "rpc.h"
  13. #include "rpcndr.h"
  14.  
  15. #ifndef __chanmgr_h__
  16. #define __chanmgr_h__
  17.  
  18. #ifdef __cplusplus
  19. extern "C"{
  20. #endif 
  21.  
  22. /* Forward Declarations */ 
  23.  
  24. #ifndef __IChannelMgr_FWD_DEFINED__
  25. #define __IChannelMgr_FWD_DEFINED__
  26. typedef interface IChannelMgr IChannelMgr;
  27. #endif     /* __IChannelMgr_FWD_DEFINED__ */
  28.  
  29.  
  30. #ifndef __IEnumChannels_FWD_DEFINED__
  31. #define __IEnumChannels_FWD_DEFINED__
  32. typedef interface IEnumChannels IEnumChannels;
  33. #endif     /* __IEnumChannels_FWD_DEFINED__ */
  34.  
  35.  
  36. #ifndef __ChannelMgr_FWD_DEFINED__
  37. #define __ChannelMgr_FWD_DEFINED__
  38.  
  39. #ifdef __cplusplus
  40. typedef class ChannelMgr ChannelMgr;
  41. #else
  42. typedef struct ChannelMgr ChannelMgr;
  43. #endif /* __cplusplus */
  44.  
  45. #endif     /* __ChannelMgr_FWD_DEFINED__ */
  46.  
  47.  
  48. /* header files for imported files */
  49. #include "unknwn.h"
  50.  
  51. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  52. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  53.  
  54. /****************************************
  55.  * Generated header for interface: __MIDL_itf_chanmgr_0000
  56.  * at Mon Nov 17 12:05:10 1997
  57.  * using MIDL 3.02.88
  58.  ****************************************/
  59. /* [local] */ 
  60.  
  61.  
  62. //=--------------------------------------------------------------------------=
  63. // chanmgr.h
  64. //=--------------------------------------------------------------------------=
  65. // (C) Copyright 1995 - 1998 Microsoft Corporation.  All Rights Reserved.
  66. //
  67. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  68. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  69. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  70. // PARTICULAR PURPOSE.
  71. //=--------------------------------------------------------------------------=
  72.  
  73. #pragma comment(lib,"uuid.lib")
  74.  
  75. //---------------------------------------------------------------------------=
  76. // Channel Manager Interfaces.
  77.  
  78.  
  79.  
  80.  
  81.  
  82. extern RPC_IF_HANDLE __MIDL_itf_chanmgr_0000_v0_0_c_ifspec;
  83. extern RPC_IF_HANDLE __MIDL_itf_chanmgr_0000_v0_0_s_ifspec;
  84.  
  85.  
  86. #ifndef __CHANNELMGR_LIBRARY_DEFINED__
  87. #define __CHANNELMGR_LIBRARY_DEFINED__
  88.  
  89. /****************************************
  90.  * Generated header for library: CHANNELMGR
  91.  * at Mon Nov 17 12:05:10 1997
  92.  * using MIDL 3.02.88
  93.  ****************************************/
  94. /* [version][lcid][helpstring][uuid] */ 
  95.  
  96.  
  97.  
  98. EXTERN_C const IID LIBID_CHANNELMGR;
  99.  
  100. #ifndef __IChannelMgr_INTERFACE_DEFINED__
  101. #define __IChannelMgr_INTERFACE_DEFINED__
  102.  
  103. /****************************************
  104.  * Generated header for interface: IChannelMgr
  105.  * at Mon Nov 17 12:05:10 1997
  106.  * using MIDL 3.02.88
  107.  ****************************************/
  108. /* [object][helpstring][uuid] */ 
  109.  
  110.  
  111. typedef struct  _tagChannelShortcutInfo
  112.     {
  113.     DWORD cbSize;
  114.     LPWSTR pszTitle;
  115.     LPWSTR pszURL;
  116.     LPWSTR pszLogo;
  117.     LPWSTR pszIcon;
  118.     LPWSTR pszWideLogo;
  119.     BOOL bIsSoftware;
  120.     }    CHANNELSHORTCUTINFO;
  121.  
  122. typedef struct  _tagChannelCategoryInfo
  123.     {
  124.     DWORD cbSize;
  125.     LPWSTR pszTitle;
  126.     LPWSTR pszURL;
  127.     LPWSTR pszLogo;
  128.     LPWSTR pszIcon;
  129.     LPWSTR pszWideLogo;
  130.     }    CHANNELCATEGORYINFO;
  131.  
  132. typedef 
  133. enum _tagChannelEnumFlags
  134.     {    CHANENUM_CHANNELFOLDER    = 0x1,
  135.     CHANENUM_SOFTUPDATEFOLDER    = 0x2,
  136.     CHANENUM_DESKTOPFOLDER    = 0x4,
  137.     CHANENUM_TITLE    = 0x10000,
  138.     CHANENUM_PATH    = 0x20000,
  139.     CHANENUM_URL    = 0x40000,
  140.     CHANENUM_SUBSCRIBESTATE    = 0x80000
  141.     }    CHANNELENUMFLAGS;
  142.  
  143. #define CHANENUM_ALLFOLDERS (CHANENUM_CHANNELFOLDER    |    \
  144.                              CHANENUM_SOFTUPDATEFOLDER |    \
  145.                              CHANENUM_DESKTOPFOLDER          )
  146.  
  147. #define CHANENUM_ALLDATA    (CHANENUM_TITLE            |    \
  148.                              CHANENUM_PATH             |    \
  149.                              CHANENUM_URL              |    \
  150.                              CHANENUM_SUBSCRIBESTATE         )
  151.  
  152. #define CHANENUM_ALL        (CHANENUM_CHANNELFOLDER    |    \
  153.                              CHANENUM_SOFTUPDATEFOLDER |    \
  154.                              CHANENUM_DESKTOPFOLDER    |    \
  155.                              CHANENUM_TITLE            |    \
  156.                              CHANENUM_PATH             |    \
  157.                              CHANENUM_URL              |    \
  158.                              CHANENUM_SUBSCRIBESTATE         )
  159.  
  160.  
  161. EXTERN_C const IID IID_IChannelMgr;
  162.  
  163. #if defined(__cplusplus) && !defined(CINTERFACE)
  164.     
  165.     interface DECLSPEC_UUID("85BD8E82-0FBA-11d1-90C3-00C04FC2F568")
  166.     IChannelMgr : public IUnknown
  167.     {
  168.     public:
  169.         virtual HRESULT STDMETHODCALLTYPE AddChannelShortcut( 
  170.             /* [in] */ CHANNELSHORTCUTINFO __RPC_FAR *pChannelInfo) = 0;
  171.         
  172.         virtual HRESULT STDMETHODCALLTYPE DeleteChannelShortcut( 
  173.             /* [in] */ LPWSTR pszTitle) = 0;
  174.         
  175.         virtual HRESULT STDMETHODCALLTYPE AddCategory( 
  176.             /* [in] */ CHANNELCATEGORYINFO __RPC_FAR *pCategoryInfo) = 0;
  177.         
  178.         virtual HRESULT STDMETHODCALLTYPE DeleteCategory( 
  179.             /* [in] */ LPWSTR pszTitle) = 0;
  180.         
  181.         virtual HRESULT STDMETHODCALLTYPE EnumChannels( 
  182.             /* [in] */ DWORD dwEnumFlags,
  183.             /* [in] */ LPCWSTR pszURL,
  184.             /* [out] */ IEnumChannels __RPC_FAR *__RPC_FAR *pIEnumChannels) = 0;
  185.         
  186.     };
  187.     
  188. #else     /* C style interface */
  189.  
  190.     typedef struct IChannelMgrVtbl
  191.     {
  192.         BEGIN_INTERFACE
  193.         
  194.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  195.             IChannelMgr __RPC_FAR * This,
  196.             /* [in] */ REFIID riid,
  197.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  198.         
  199.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  200.             IChannelMgr __RPC_FAR * This);
  201.         
  202.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  203.             IChannelMgr __RPC_FAR * This);
  204.         
  205.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddChannelShortcut )( 
  206.             IChannelMgr __RPC_FAR * This,
  207.             /* [in] */ CHANNELSHORTCUTINFO __RPC_FAR *pChannelInfo);
  208.         
  209.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteChannelShortcut )( 
  210.             IChannelMgr __RPC_FAR * This,
  211.             /* [in] */ LPWSTR pszTitle);
  212.         
  213.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddCategory )( 
  214.             IChannelMgr __RPC_FAR * This,
  215.             /* [in] */ CHANNELCATEGORYINFO __RPC_FAR *pCategoryInfo);
  216.         
  217.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DeleteCategory )( 
  218.             IChannelMgr __RPC_FAR * This,
  219.             /* [in] */ LPWSTR pszTitle);
  220.         
  221.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumChannels )( 
  222.             IChannelMgr __RPC_FAR * This,
  223.             /* [in] */ DWORD dwEnumFlags,
  224.             /* [in] */ LPCWSTR pszURL,
  225.             /* [out] */ IEnumChannels __RPC_FAR *__RPC_FAR *pIEnumChannels);
  226.         
  227.         END_INTERFACE
  228.     } IChannelMgrVtbl;
  229.  
  230.     interface IChannelMgr
  231.     {
  232.         CONST_VTBL struct IChannelMgrVtbl __RPC_FAR *lpVtbl;
  233.     };
  234.  
  235.     
  236.  
  237. #ifdef COBJMACROS
  238.  
  239.  
  240. #define IChannelMgr_QueryInterface(This,riid,ppvObject)    \
  241.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  242.  
  243. #define IChannelMgr_AddRef(This)    \
  244.     (This)->lpVtbl -> AddRef(This)
  245.  
  246. #define IChannelMgr_Release(This)    \
  247.     (This)->lpVtbl -> Release(This)
  248.  
  249.  
  250. #define IChannelMgr_AddChannelShortcut(This,pChannelInfo)    \
  251.     (This)->lpVtbl -> AddChannelShortcut(This,pChannelInfo)
  252.  
  253. #define IChannelMgr_DeleteChannelShortcut(This,pszTitle)    \
  254.     (This)->lpVtbl -> DeleteChannelShortcut(This,pszTitle)
  255.  
  256. #define IChannelMgr_AddCategory(This,pCategoryInfo)    \
  257.     (This)->lpVtbl -> AddCategory(This,pCategoryInfo)
  258.  
  259. #define IChannelMgr_DeleteCategory(This,pszTitle)    \
  260.     (This)->lpVtbl -> DeleteCategory(This,pszTitle)
  261.  
  262. #define IChannelMgr_EnumChannels(This,dwEnumFlags,pszURL,pIEnumChannels)    \
  263.     (This)->lpVtbl -> EnumChannels(This,dwEnumFlags,pszURL,pIEnumChannels)
  264.  
  265. #endif /* COBJMACROS */
  266.  
  267.  
  268. #endif     /* C style interface */
  269.  
  270.  
  271.  
  272. HRESULT STDMETHODCALLTYPE IChannelMgr_AddChannelShortcut_Proxy( 
  273.     IChannelMgr __RPC_FAR * This,
  274.     /* [in] */ CHANNELSHORTCUTINFO __RPC_FAR *pChannelInfo);
  275.  
  276.  
  277. void __RPC_STUB IChannelMgr_AddChannelShortcut_Stub(
  278.     IRpcStubBuffer *This,
  279.     IRpcChannelBuffer *_pRpcChannelBuffer,
  280.     PRPC_MESSAGE _pRpcMessage,
  281.     DWORD *_pdwStubPhase);
  282.  
  283.  
  284. HRESULT STDMETHODCALLTYPE IChannelMgr_DeleteChannelShortcut_Proxy( 
  285.     IChannelMgr __RPC_FAR * This,
  286.     /* [in] */ LPWSTR pszTitle);
  287.  
  288.  
  289. void __RPC_STUB IChannelMgr_DeleteChannelShortcut_Stub(
  290.     IRpcStubBuffer *This,
  291.     IRpcChannelBuffer *_pRpcChannelBuffer,
  292.     PRPC_MESSAGE _pRpcMessage,
  293.     DWORD *_pdwStubPhase);
  294.  
  295.  
  296. HRESULT STDMETHODCALLTYPE IChannelMgr_AddCategory_Proxy( 
  297.     IChannelMgr __RPC_FAR * This,
  298.     /* [in] */ CHANNELCATEGORYINFO __RPC_FAR *pCategoryInfo);
  299.  
  300.  
  301. void __RPC_STUB IChannelMgr_AddCategory_Stub(
  302.     IRpcStubBuffer *This,
  303.     IRpcChannelBuffer *_pRpcChannelBuffer,
  304.     PRPC_MESSAGE _pRpcMessage,
  305.     DWORD *_pdwStubPhase);
  306.  
  307.  
  308. HRESULT STDMETHODCALLTYPE IChannelMgr_DeleteCategory_Proxy( 
  309.     IChannelMgr __RPC_FAR * This,
  310.     /* [in] */ LPWSTR pszTitle);
  311.  
  312.  
  313. void __RPC_STUB IChannelMgr_DeleteCategory_Stub(
  314.     IRpcStubBuffer *This,
  315.     IRpcChannelBuffer *_pRpcChannelBuffer,
  316.     PRPC_MESSAGE _pRpcMessage,
  317.     DWORD *_pdwStubPhase);
  318.  
  319.  
  320. HRESULT STDMETHODCALLTYPE IChannelMgr_EnumChannels_Proxy( 
  321.     IChannelMgr __RPC_FAR * This,
  322.     /* [in] */ DWORD dwEnumFlags,
  323.     /* [in] */ LPCWSTR pszURL,
  324.     /* [out] */ IEnumChannels __RPC_FAR *__RPC_FAR *pIEnumChannels);
  325.  
  326.  
  327. void __RPC_STUB IChannelMgr_EnumChannels_Stub(
  328.     IRpcStubBuffer *This,
  329.     IRpcChannelBuffer *_pRpcChannelBuffer,
  330.     PRPC_MESSAGE _pRpcMessage,
  331.     DWORD *_pdwStubPhase);
  332.  
  333.  
  334.  
  335. #endif     /* __IChannelMgr_INTERFACE_DEFINED__ */
  336.  
  337.  
  338. #ifndef __IEnumChannels_INTERFACE_DEFINED__
  339. #define __IEnumChannels_INTERFACE_DEFINED__
  340.  
  341. /****************************************
  342.  * Generated header for interface: IEnumChannels
  343.  * at Mon Nov 17 12:05:10 1997
  344.  * using MIDL 3.02.88
  345.  ****************************************/
  346. /* [object][helpstring][uuid] */ 
  347.  
  348.  
  349. typedef 
  350. enum _tagSubcriptionState
  351.     {    SUBSTATE_NOTSUBSCRIBED    = 0,
  352.     SUBSTATE_PARTIALSUBSCRIPTION    = SUBSTATE_NOTSUBSCRIBED + 1,
  353.     SUBSTATE_FULLSUBSCRIPTION    = SUBSTATE_PARTIALSUBSCRIPTION + 1
  354.     }    SUBSCRIPTIONSTATE;
  355.  
  356. typedef struct  _tagChannelInfo
  357.     {
  358.     LPOLESTR pszTitle;
  359.     LPOLESTR pszPath;
  360.     LPOLESTR pszURL;
  361.     SUBSCRIPTIONSTATE stSubscriptionState;
  362.     }    CHANNELENUMINFO;
  363.  
  364.  
  365. EXTERN_C const IID IID_IEnumChannels;
  366.  
  367. #if defined(__cplusplus) && !defined(CINTERFACE)
  368.     
  369.     interface DECLSPEC_UUID("A4C65425-0F82-11d1-90C3-00C04FC2F568")
  370.     IEnumChannels : public IUnknown
  371.     {
  372.     public:
  373.         virtual HRESULT STDMETHODCALLTYPE Next( 
  374.             ULONG celt,
  375.             CHANNELENUMINFO __RPC_FAR *rgChanInf,
  376.             ULONG __RPC_FAR *pceltFetched) = 0;
  377.         
  378.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  379.             ULONG celt) = 0;
  380.         
  381.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  382.         
  383.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  384.             IEnumChannels __RPC_FAR *__RPC_FAR *ppenum) = 0;
  385.         
  386.     };
  387.     
  388. #else     /* C style interface */
  389.  
  390.     typedef struct IEnumChannelsVtbl
  391.     {
  392.         BEGIN_INTERFACE
  393.         
  394.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  395.             IEnumChannels __RPC_FAR * This,
  396.             /* [in] */ REFIID riid,
  397.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  398.         
  399.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  400.             IEnumChannels __RPC_FAR * This);
  401.         
  402.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  403.             IEnumChannels __RPC_FAR * This);
  404.         
  405.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
  406.             IEnumChannels __RPC_FAR * This,
  407.             ULONG celt,
  408.             CHANNELENUMINFO __RPC_FAR *rgChanInf,
  409.             ULONG __RPC_FAR *pceltFetched);
  410.         
  411.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )( 
  412.             IEnumChannels __RPC_FAR * This,
  413.             ULONG celt);
  414.         
  415.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )( 
  416.             IEnumChannels __RPC_FAR * This);
  417.         
  418.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )( 
  419.             IEnumChannels __RPC_FAR * This,
  420.             IEnumChannels __RPC_FAR *__RPC_FAR *ppenum);
  421.         
  422.         END_INTERFACE
  423.     } IEnumChannelsVtbl;
  424.  
  425.     interface IEnumChannels
  426.     {
  427.         CONST_VTBL struct IEnumChannelsVtbl __RPC_FAR *lpVtbl;
  428.     };
  429.  
  430.     
  431.  
  432. #ifdef COBJMACROS
  433.  
  434.  
  435. #define IEnumChannels_QueryInterface(This,riid,ppvObject)    \
  436.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  437.  
  438. #define IEnumChannels_AddRef(This)    \
  439.     (This)->lpVtbl -> AddRef(This)
  440.  
  441. #define IEnumChannels_Release(This)    \
  442.     (This)->lpVtbl -> Release(This)
  443.  
  444.  
  445. #define IEnumChannels_Next(This,celt,rgChanInf,pceltFetched)    \
  446.     (This)->lpVtbl -> Next(This,celt,rgChanInf,pceltFetched)
  447.  
  448. #define IEnumChannels_Skip(This,celt)    \
  449.     (This)->lpVtbl -> Skip(This,celt)
  450.  
  451. #define IEnumChannels_Reset(This)    \
  452.     (This)->lpVtbl -> Reset(This)
  453.  
  454. #define IEnumChannels_Clone(This,ppenum)    \
  455.     (This)->lpVtbl -> Clone(This,ppenum)
  456.  
  457. #endif /* COBJMACROS */
  458.  
  459.  
  460. #endif     /* C style interface */
  461.  
  462.  
  463.  
  464. HRESULT STDMETHODCALLTYPE IEnumChannels_Next_Proxy( 
  465.     IEnumChannels __RPC_FAR * This,
  466.     ULONG celt,
  467.     CHANNELENUMINFO __RPC_FAR *rgChanInf,
  468.     ULONG __RPC_FAR *pceltFetched);
  469.  
  470.  
  471. void __RPC_STUB IEnumChannels_Next_Stub(
  472.     IRpcStubBuffer *This,
  473.     IRpcChannelBuffer *_pRpcChannelBuffer,
  474.     PRPC_MESSAGE _pRpcMessage,
  475.     DWORD *_pdwStubPhase);
  476.  
  477.  
  478. HRESULT STDMETHODCALLTYPE IEnumChannels_Skip_Proxy( 
  479.     IEnumChannels __RPC_FAR * This,
  480.     ULONG celt);
  481.  
  482.  
  483. void __RPC_STUB IEnumChannels_Skip_Stub(
  484.     IRpcStubBuffer *This,
  485.     IRpcChannelBuffer *_pRpcChannelBuffer,
  486.     PRPC_MESSAGE _pRpcMessage,
  487.     DWORD *_pdwStubPhase);
  488.  
  489.  
  490. HRESULT STDMETHODCALLTYPE IEnumChannels_Reset_Proxy( 
  491.     IEnumChannels __RPC_FAR * This);
  492.  
  493.  
  494. void __RPC_STUB IEnumChannels_Reset_Stub(
  495.     IRpcStubBuffer *This,
  496.     IRpcChannelBuffer *_pRpcChannelBuffer,
  497.     PRPC_MESSAGE _pRpcMessage,
  498.     DWORD *_pdwStubPhase);
  499.  
  500.  
  501. HRESULT STDMETHODCALLTYPE IEnumChannels_Clone_Proxy( 
  502.     IEnumChannels __RPC_FAR * This,
  503.     IEnumChannels __RPC_FAR *__RPC_FAR *ppenum);
  504.  
  505.  
  506. void __RPC_STUB IEnumChannels_Clone_Stub(
  507.     IRpcStubBuffer *This,
  508.     IRpcChannelBuffer *_pRpcChannelBuffer,
  509.     PRPC_MESSAGE _pRpcMessage,
  510.     DWORD *_pdwStubPhase);
  511.  
  512.  
  513.  
  514. #endif     /* __IEnumChannels_INTERFACE_DEFINED__ */
  515.  
  516.  
  517. EXTERN_C const CLSID CLSID_ChannelMgr;
  518.  
  519. #ifdef __cplusplus
  520.  
  521. class DECLSPEC_UUID("b3cdae90-d170-11d0-802b-00c04fd75d13")
  522. ChannelMgr;
  523. #endif
  524. #endif /* __CHANNELMGR_LIBRARY_DEFINED__ */
  525.  
  526. /* Additional Prototypes for ALL interfaces */
  527.  
  528. /* end of Additional Prototypes */
  529.  
  530. #ifdef __cplusplus
  531. }
  532. #endif
  533.  
  534. #endif
  535.