/** * This file has no copyright assigned and is placed in the Public Domain. * This file is part of the mingw-w64 runtime package. * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ #ifndef __REQUIRED_RPCNDR_H_VERSION__ #define __REQUIRED_RPCNDR_H_VERSION__ 475 #endif #include "rpc.h" #include "rpcndr.h" #ifndef __RPCNDR_H_VERSION__ #error this stub requires an updated version of <rpcndr.h> #endif #ifndef __chanmgr_h__ #define __chanmgr_h__ #ifndef __IChannelMgr_FWD_DEFINED__ #define __IChannelMgr_FWD_DEFINED__ typedef struct IChannelMgr IChannelMgr; #endif #ifndef __IEnumChannels_FWD_DEFINED__ #define __IEnumChannels_FWD_DEFINED__ typedef struct IEnumChannels IEnumChannels; #endif #ifndef __ChannelMgr_FWD_DEFINED__ #define __ChannelMgr_FWD_DEFINED__ #ifdef __cplusplus typedef class ChannelMgr ChannelMgr; #else typedef struct ChannelMgr ChannelMgr; #endif #endif #include "unknwn.h" #ifdef __cplusplus extern "C"{ #endif #ifndef __MIDL_user_allocate_free_DEFINED__ #define __MIDL_user_allocate_free_DEFINED__ void *__RPC_API MIDL_user_allocate(size_t); void __RPC_API MIDL_user_free(void *); #endif extern RPC_IF_HANDLE __MIDL_itf_chanmgr_0000_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_chanmgr_0000_v0_0_s_ifspec; #ifndef __CHANNELMGR_LIBRARY_DEFINED__ #define __CHANNELMGR_LIBRARY_DEFINED__ EXTERN_C const IID LIBID_CHANNELMGR; #ifndef __IChannelMgr_INTERFACE_DEFINED__ #define __IChannelMgr_INTERFACE_DEFINED__ typedef struct _tagChannelShortcutInfo { DWORD cbSize; LPWSTR pszTitle; LPWSTR pszURL; LPWSTR pszLogo; LPWSTR pszIcon; LPWSTR pszWideLogo; WINBOOL bIsSoftware; } CHANNELSHORTCUTINFO; typedef struct _tagChannelCategoryInfo { DWORD cbSize; LPWSTR pszTitle; LPWSTR pszURL; LPWSTR pszLogo; LPWSTR pszIcon; LPWSTR pszWideLogo; } CHANNELCATEGORYINFO; typedef enum _tagChannelEnumFlags { CHANENUM_CHANNELFOLDER = 0x1,CHANENUM_SOFTUPDATEFOLDER = 0x2,CHANENUM_DESKTOPFOLDER = 0x4,CHANENUM_TITLE = 0x10000,CHANENUM_PATH = 0x20000, CHANENUM_URL = 0x40000,CHANENUM_SUBSCRIBESTATE = 0x80000 } CHANNELENUMFLAGS; #define CHANENUM_ALLFOLDERS (CHANENUM_CHANNELFOLDER | CHANENUM_SOFTUPDATEFOLDER | CHANENUM_DESKTOPFOLDER) #define CHANENUM_ALLDATA (CHANENUM_TITLE | CHANENUM_PATH | CHANENUM_URL | CHANENUM_SUBSCRIBESTATE) #define CHANENUM_ALL (CHANENUM_CHANNELFOLDER | CHANENUM_SOFTUPDATEFOLDER | CHANENUM_DESKTOPFOLDER | CHANENUM_TITLE | CHANENUM_PATH | CHANENUM_URL | CHANENUM_SUBSCRIBESTATE) EXTERN_C const IID IID_IChannelMgr; #if defined(__cplusplus) && !defined(CINTERFACE) struct IChannelMgr : public IUnknown { public: virtual HRESULT WINAPI AddChannelShortcut(CHANNELSHORTCUTINFO *pChannelInfo) = 0; virtual HRESULT WINAPI DeleteChannelShortcut(LPWSTR pszTitle) = 0; virtual HRESULT WINAPI AddCategory(CHANNELCATEGORYINFO *pCategoryInfo) = 0; virtual HRESULT WINAPI DeleteCategory(LPWSTR pszTitle) = 0; virtual HRESULT WINAPI EnumChannels(DWORD dwEnumFlags,LPCWSTR pszURL,IEnumChannels **pIEnumChannels) = 0; }; #else typedef struct IChannelMgrVtbl { BEGIN_INTERFACE HRESULT (WINAPI *QueryInterface)(IChannelMgr *This,REFIID riid,void **ppvObject); ULONG (WINAPI *AddRef)(IChannelMgr *This); ULONG (WINAPI *Release)(IChannelMgr *This); HRESULT (WINAPI *AddChannelShortcut)(IChannelMgr *This,CHANNELSHORTCUTINFO *pChannelInfo); HRESULT (WINAPI *DeleteChannelShortcut)(IChannelMgr *This,LPWSTR pszTitle); HRESULT (WINAPI *AddCategory)(IChannelMgr *This,CHANNELCATEGORYINFO *pCategoryInfo); HRESULT (WINAPI *DeleteCategory)(IChannelMgr *This,LPWSTR pszTitle); HRESULT (WINAPI *EnumChannels)(IChannelMgr *This,DWORD dwEnumFlags,LPCWSTR pszURL,IEnumChannels **pIEnumChannels); END_INTERFACE } IChannelMgrVtbl; struct IChannelMgr { CONST_VTBL struct IChannelMgrVtbl *lpVtbl; }; #ifdef COBJMACROS #define IChannelMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IChannelMgr_AddRef(This) (This)->lpVtbl->AddRef(This) #define IChannelMgr_Release(This) (This)->lpVtbl->Release(This) #define IChannelMgr_AddChannelShortcut(This,pChannelInfo) (This)->lpVtbl->AddChannelShortcut(This,pChannelInfo) #define IChannelMgr_DeleteChannelShortcut(This,pszTitle) (This)->lpVtbl->DeleteChannelShortcut(This,pszTitle) #define IChannelMgr_AddCategory(This,pCategoryInfo) (This)->lpVtbl->AddCategory(This,pCategoryInfo) #define IChannelMgr_DeleteCategory(This,pszTitle) (This)->lpVtbl->DeleteCategory(This,pszTitle) #define IChannelMgr_EnumChannels(This,dwEnumFlags,pszURL,pIEnumChannels) (This)->lpVtbl->EnumChannels(This,dwEnumFlags,pszURL,pIEnumChannels) #endif #endif HRESULT WINAPI IChannelMgr_AddChannelShortcut_Proxy(IChannelMgr *This,CHANNELSHORTCUTINFO *pChannelInfo); void __RPC_STUB IChannelMgr_AddChannelShortcut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); HRESULT WINAPI IChannelMgr_DeleteChannelShortcut_Proxy(IChannelMgr *This,LPWSTR pszTitle); void __RPC_STUB IChannelMgr_DeleteChannelShortcut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); HRESULT WINAPI IChannelMgr_AddCategory_Proxy(IChannelMgr *This,CHANNELCATEGORYINFO *pCategoryInfo); void __RPC_STUB IChannelMgr_AddCategory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); HRESULT WINAPI IChannelMgr_DeleteCategory_Proxy(IChannelMgr *This,LPWSTR pszTitle); void __RPC_STUB IChannelMgr_DeleteCategory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); HRESULT WINAPI IChannelMgr_EnumChannels_Proxy(IChannelMgr *This,DWORD dwEnumFlags,LPCWSTR pszURL,IEnumChannels **pIEnumChannels); void __RPC_STUB IChannelMgr_EnumChannels_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); #endif #ifndef __IEnumChannels_INTERFACE_DEFINED__ #define __IEnumChannels_INTERFACE_DEFINED__ typedef enum _tagSubcriptionState { SUBSTATE_NOTSUBSCRIBED = 0,SUBSTATE_PARTIALSUBSCRIPTION,SUBSTATE_FULLSUBSCRIPTION } SUBSCRIPTIONSTATE; typedef struct _tagChannelInfo { LPOLESTR pszTitle; LPOLESTR pszPath; LPOLESTR pszURL; SUBSCRIPTIONSTATE stSubscriptionState; } CHANNELENUMINFO; EXTERN_C const IID IID_IEnumChannels; #if defined(__cplusplus) && !defined(CINTERFACE) struct IEnumChannels : public IUnknown { public: virtual HRESULT WINAPI Next(ULONG celt,CHANNELENUMINFO *rgChanInf,ULONG *pceltFetched) = 0; virtual HRESULT WINAPI Skip(ULONG celt) = 0; virtual HRESULT WINAPI Reset(void) = 0; virtual HRESULT WINAPI Clone(IEnumChannels **ppenum) = 0; }; #else typedef struct IEnumChannelsVtbl { BEGIN_INTERFACE HRESULT (WINAPI *QueryInterface)(IEnumChannels *This,REFIID riid,void **ppvObject); ULONG (WINAPI *AddRef)(IEnumChannels *This); ULONG (WINAPI *Release)(IEnumChannels *This); HRESULT (WINAPI *Next)(IEnumChannels *This,ULONG celt,CHANNELENUMINFO *rgChanInf,ULONG *pceltFetched); HRESULT (WINAPI *Skip)(IEnumChannels *This,ULONG celt); HRESULT (WINAPI *Reset)(IEnumChannels *This); HRESULT (WINAPI *Clone)(IEnumChannels *This,IEnumChannels **ppenum); END_INTERFACE } IEnumChannelsVtbl; struct IEnumChannels { CONST_VTBL struct IEnumChannelsVtbl *lpVtbl; }; #ifdef COBJMACROS #define IEnumChannels_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) #define IEnumChannels_AddRef(This) (This)->lpVtbl->AddRef(This) #define IEnumChannels_Release(This) (This)->lpVtbl->Release(This) #define IEnumChannels_Next(This,celt,rgChanInf,pceltFetched) (This)->lpVtbl->Next(This,celt,rgChanInf,pceltFetched) #define IEnumChannels_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) #define IEnumChannels_Reset(This) (This)->lpVtbl->Reset(This) #define IEnumChannels_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum) #endif #endif HRESULT WINAPI IEnumChannels_Next_Proxy(IEnumChannels *This,ULONG celt,CHANNELENUMINFO *rgChanInf,ULONG *pceltFetched); void __RPC_STUB IEnumChannels_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); HRESULT WINAPI IEnumChannels_Skip_Proxy(IEnumChannels *This,ULONG celt); void __RPC_STUB IEnumChannels_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); HRESULT WINAPI IEnumChannels_Reset_Proxy(IEnumChannels *This); void __RPC_STUB IEnumChannels_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); HRESULT WINAPI IEnumChannels_Clone_Proxy(IEnumChannels *This,IEnumChannels **ppenum); void __RPC_STUB IEnumChannels_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); #endif EXTERN_C const CLSID CLSID_ChannelMgr; #ifdef __cplusplus class ChannelMgr; #endif #endif #ifdef __cplusplus } #endif #endif