source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/chanmgr.h

Last change on this file was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 9.0 KB
Line 
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef __REQUIRED_RPCNDR_H_VERSION__
7#define __REQUIRED_RPCNDR_H_VERSION__ 475
8#endif
9
10#include "rpc.h"
11#include "rpcndr.h"
12
13#ifndef __RPCNDR_H_VERSION__
14#error this stub requires an updated version of <rpcndr.h>
15#endif
16
17#ifndef __chanmgr_h__
18#define __chanmgr_h__
19
20#ifndef __IChannelMgr_FWD_DEFINED__
21#define __IChannelMgr_FWD_DEFINED__
22typedef struct IChannelMgr IChannelMgr;
23#endif
24
25#ifndef __IEnumChannels_FWD_DEFINED__
26#define __IEnumChannels_FWD_DEFINED__
27typedef struct IEnumChannels IEnumChannels;
28#endif
29
30#ifndef __ChannelMgr_FWD_DEFINED__
31#define __ChannelMgr_FWD_DEFINED__
32#ifdef __cplusplus
33typedef class ChannelMgr ChannelMgr;
34#else
35typedef struct ChannelMgr ChannelMgr;
36#endif
37#endif
38
39#include "unknwn.h"
40
41#ifdef __cplusplus
42extern "C"{
43#endif
44
45#ifndef __MIDL_user_allocate_free_DEFINED__
46#define __MIDL_user_allocate_free_DEFINED__
47 void *__RPC_API MIDL_user_allocate(size_t);
48 void __RPC_API MIDL_user_free(void *);
49#endif
50
51 extern RPC_IF_HANDLE __MIDL_itf_chanmgr_0000_v0_0_c_ifspec;
52 extern RPC_IF_HANDLE __MIDL_itf_chanmgr_0000_v0_0_s_ifspec;
53
54#ifndef __CHANNELMGR_LIBRARY_DEFINED__
55#define __CHANNELMGR_LIBRARY_DEFINED__
56 EXTERN_C const IID LIBID_CHANNELMGR;
57#ifndef __IChannelMgr_INTERFACE_DEFINED__
58#define __IChannelMgr_INTERFACE_DEFINED__
59
60 typedef struct _tagChannelShortcutInfo {
61 DWORD cbSize;
62 LPWSTR pszTitle;
63 LPWSTR pszURL;
64 LPWSTR pszLogo;
65 LPWSTR pszIcon;
66 LPWSTR pszWideLogo;
67 WINBOOL bIsSoftware;
68 } CHANNELSHORTCUTINFO;
69
70 typedef struct _tagChannelCategoryInfo {
71 DWORD cbSize;
72 LPWSTR pszTitle;
73 LPWSTR pszURL;
74 LPWSTR pszLogo;
75 LPWSTR pszIcon;
76 LPWSTR pszWideLogo;
77 } CHANNELCATEGORYINFO;
78
79 typedef enum _tagChannelEnumFlags {
80 CHANENUM_CHANNELFOLDER = 0x1,CHANENUM_SOFTUPDATEFOLDER = 0x2,CHANENUM_DESKTOPFOLDER = 0x4,CHANENUM_TITLE = 0x10000,CHANENUM_PATH = 0x20000,
81 CHANENUM_URL = 0x40000,CHANENUM_SUBSCRIBESTATE = 0x80000
82 } CHANNELENUMFLAGS;
83
84#define CHANENUM_ALLFOLDERS (CHANENUM_CHANNELFOLDER | CHANENUM_SOFTUPDATEFOLDER | CHANENUM_DESKTOPFOLDER)
85#define CHANENUM_ALLDATA (CHANENUM_TITLE | CHANENUM_PATH | CHANENUM_URL | CHANENUM_SUBSCRIBESTATE)
86#define CHANENUM_ALL (CHANENUM_CHANNELFOLDER | CHANENUM_SOFTUPDATEFOLDER | CHANENUM_DESKTOPFOLDER | CHANENUM_TITLE | CHANENUM_PATH | CHANENUM_URL | CHANENUM_SUBSCRIBESTATE)
87
88 EXTERN_C const IID IID_IChannelMgr;
89#if defined(__cplusplus) && !defined(CINTERFACE)
90 struct IChannelMgr : public IUnknown {
91 public:
92 virtual HRESULT WINAPI AddChannelShortcut(CHANNELSHORTCUTINFO *pChannelInfo) = 0;
93 virtual HRESULT WINAPI DeleteChannelShortcut(LPWSTR pszTitle) = 0;
94 virtual HRESULT WINAPI AddCategory(CHANNELCATEGORYINFO *pCategoryInfo) = 0;
95 virtual HRESULT WINAPI DeleteCategory(LPWSTR pszTitle) = 0;
96 virtual HRESULT WINAPI EnumChannels(DWORD dwEnumFlags,LPCWSTR pszURL,IEnumChannels **pIEnumChannels) = 0;
97 };
98#else
99 typedef struct IChannelMgrVtbl {
100 BEGIN_INTERFACE
101 HRESULT (WINAPI *QueryInterface)(IChannelMgr *This,REFIID riid,void **ppvObject);
102 ULONG (WINAPI *AddRef)(IChannelMgr *This);
103 ULONG (WINAPI *Release)(IChannelMgr *This);
104 HRESULT (WINAPI *AddChannelShortcut)(IChannelMgr *This,CHANNELSHORTCUTINFO *pChannelInfo);
105 HRESULT (WINAPI *DeleteChannelShortcut)(IChannelMgr *This,LPWSTR pszTitle);
106 HRESULT (WINAPI *AddCategory)(IChannelMgr *This,CHANNELCATEGORYINFO *pCategoryInfo);
107 HRESULT (WINAPI *DeleteCategory)(IChannelMgr *This,LPWSTR pszTitle);
108 HRESULT (WINAPI *EnumChannels)(IChannelMgr *This,DWORD dwEnumFlags,LPCWSTR pszURL,IEnumChannels **pIEnumChannels);
109 END_INTERFACE
110 } IChannelMgrVtbl;
111 struct IChannelMgr {
112 CONST_VTBL struct IChannelMgrVtbl *lpVtbl;
113 };
114#ifdef COBJMACROS
115#define IChannelMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
116#define IChannelMgr_AddRef(This) (This)->lpVtbl->AddRef(This)
117#define IChannelMgr_Release(This) (This)->lpVtbl->Release(This)
118#define IChannelMgr_AddChannelShortcut(This,pChannelInfo) (This)->lpVtbl->AddChannelShortcut(This,pChannelInfo)
119#define IChannelMgr_DeleteChannelShortcut(This,pszTitle) (This)->lpVtbl->DeleteChannelShortcut(This,pszTitle)
120#define IChannelMgr_AddCategory(This,pCategoryInfo) (This)->lpVtbl->AddCategory(This,pCategoryInfo)
121#define IChannelMgr_DeleteCategory(This,pszTitle) (This)->lpVtbl->DeleteCategory(This,pszTitle)
122#define IChannelMgr_EnumChannels(This,dwEnumFlags,pszURL,pIEnumChannels) (This)->lpVtbl->EnumChannels(This,dwEnumFlags,pszURL,pIEnumChannels)
123#endif
124#endif
125 HRESULT WINAPI IChannelMgr_AddChannelShortcut_Proxy(IChannelMgr *This,CHANNELSHORTCUTINFO *pChannelInfo);
126 void __RPC_STUB IChannelMgr_AddChannelShortcut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
127 HRESULT WINAPI IChannelMgr_DeleteChannelShortcut_Proxy(IChannelMgr *This,LPWSTR pszTitle);
128 void __RPC_STUB IChannelMgr_DeleteChannelShortcut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
129 HRESULT WINAPI IChannelMgr_AddCategory_Proxy(IChannelMgr *This,CHANNELCATEGORYINFO *pCategoryInfo);
130 void __RPC_STUB IChannelMgr_AddCategory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
131 HRESULT WINAPI IChannelMgr_DeleteCategory_Proxy(IChannelMgr *This,LPWSTR pszTitle);
132 void __RPC_STUB IChannelMgr_DeleteCategory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
133 HRESULT WINAPI IChannelMgr_EnumChannels_Proxy(IChannelMgr *This,DWORD dwEnumFlags,LPCWSTR pszURL,IEnumChannels **pIEnumChannels);
134 void __RPC_STUB IChannelMgr_EnumChannels_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
135#endif
136
137#ifndef __IEnumChannels_INTERFACE_DEFINED__
138#define __IEnumChannels_INTERFACE_DEFINED__
139 typedef enum _tagSubcriptionState {
140 SUBSTATE_NOTSUBSCRIBED = 0,SUBSTATE_PARTIALSUBSCRIPTION,SUBSTATE_FULLSUBSCRIPTION
141 } SUBSCRIPTIONSTATE;
142
143 typedef struct _tagChannelInfo {
144 LPOLESTR pszTitle;
145 LPOLESTR pszPath;
146 LPOLESTR pszURL;
147 SUBSCRIPTIONSTATE stSubscriptionState;
148 } CHANNELENUMINFO;
149
150 EXTERN_C const IID IID_IEnumChannels;
151#if defined(__cplusplus) && !defined(CINTERFACE)
152 struct IEnumChannels : public IUnknown {
153 public:
154 virtual HRESULT WINAPI Next(ULONG celt,CHANNELENUMINFO *rgChanInf,ULONG *pceltFetched) = 0;
155 virtual HRESULT WINAPI Skip(ULONG celt) = 0;
156 virtual HRESULT WINAPI Reset(void) = 0;
157 virtual HRESULT WINAPI Clone(IEnumChannels **ppenum) = 0;
158 };
159#else
160 typedef struct IEnumChannelsVtbl {
161 BEGIN_INTERFACE
162 HRESULT (WINAPI *QueryInterface)(IEnumChannels *This,REFIID riid,void **ppvObject);
163 ULONG (WINAPI *AddRef)(IEnumChannels *This);
164 ULONG (WINAPI *Release)(IEnumChannels *This);
165 HRESULT (WINAPI *Next)(IEnumChannels *This,ULONG celt,CHANNELENUMINFO *rgChanInf,ULONG *pceltFetched);
166 HRESULT (WINAPI *Skip)(IEnumChannels *This,ULONG celt);
167 HRESULT (WINAPI *Reset)(IEnumChannels *This);
168 HRESULT (WINAPI *Clone)(IEnumChannels *This,IEnumChannels **ppenum);
169 END_INTERFACE
170 } IEnumChannelsVtbl;
171 struct IEnumChannels {
172 CONST_VTBL struct IEnumChannelsVtbl *lpVtbl;
173 };
174#ifdef COBJMACROS
175#define IEnumChannels_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
176#define IEnumChannels_AddRef(This) (This)->lpVtbl->AddRef(This)
177#define IEnumChannels_Release(This) (This)->lpVtbl->Release(This)
178#define IEnumChannels_Next(This,celt,rgChanInf,pceltFetched) (This)->lpVtbl->Next(This,celt,rgChanInf,pceltFetched)
179#define IEnumChannels_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
180#define IEnumChannels_Reset(This) (This)->lpVtbl->Reset(This)
181#define IEnumChannels_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
182#endif
183#endif
184 HRESULT WINAPI IEnumChannels_Next_Proxy(IEnumChannels *This,ULONG celt,CHANNELENUMINFO *rgChanInf,ULONG *pceltFetched);
185 void __RPC_STUB IEnumChannels_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
186 HRESULT WINAPI IEnumChannels_Skip_Proxy(IEnumChannels *This,ULONG celt);
187 void __RPC_STUB IEnumChannels_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
188 HRESULT WINAPI IEnumChannels_Reset_Proxy(IEnumChannels *This);
189 void __RPC_STUB IEnumChannels_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
190 HRESULT WINAPI IEnumChannels_Clone_Proxy(IEnumChannels *This,IEnumChannels **ppenum);
191 void __RPC_STUB IEnumChannels_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
192#endif
193
194 EXTERN_C const CLSID CLSID_ChannelMgr;
195#ifdef __cplusplus
196 class ChannelMgr;
197#endif
198#endif
199
200#ifdef __cplusplus
201}
202#endif
203#endif
Note: See TracBrowser for help on using the repository browser.