home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 May / PCFMay2001.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / chanmgr.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  14.9 KB  |  532 lines

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