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 COM_NO_WINDOWS_H 18 #include "windows.h" 19 #include "ole2.h" 20 #endif 21 22 #ifndef __shappmgr_h__ 23 #define __shappmgr_h__ 24 25 #ifndef __IShellApp_FWD_DEFINED__ 26 #define __IShellApp_FWD_DEFINED__ 27 typedef struct IShellApp IShellApp; 28 #endif 29 30 #ifndef __IPublishedApp_FWD_DEFINED__ 31 #define __IPublishedApp_FWD_DEFINED__ 32 typedef struct IPublishedApp IPublishedApp; 33 #endif 34 35 #ifndef __IEnumPublishedApps_FWD_DEFINED__ 36 #define __IEnumPublishedApps_FWD_DEFINED__ 37 typedef struct IEnumPublishedApps IEnumPublishedApps; 38 #endif 39 40 #ifndef __IAppPublisher_FWD_DEFINED__ 41 #define __IAppPublisher_FWD_DEFINED__ 42 typedef struct IAppPublisher IAppPublisher; 43 #endif 44 45 #include "oaidl.h" 46 #include "ocidl.h" 47 #include "appmgmt.h" 48 49 #ifdef __cplusplus 50 extern "C" { 51 #endif 52 53 #ifndef __MIDL_user_allocate_free_DEFINED__ 54 #define __MIDL_user_allocate_free_DEFINED__ 55 void *__RPC_API MIDL_user_allocate(size_t); 56 void __RPC_API MIDL_user_free(void *); 57 #endif 58 59 #ifndef _SHAPPMGR_H_ 60 #define _SHAPPMGR_H_ 61 62 extern RPC_IF_HANDLE __MIDL_itf_shappmgr_0000_v0_0_c_ifspec; 63 extern RPC_IF_HANDLE __MIDL_itf_shappmgr_0000_v0_0_s_ifspec; 64 65 #ifndef __IShellApp_INTERFACE_DEFINED__ 66 #define __IShellApp_INTERFACE_DEFINED__ 67 typedef enum _tagAppInfoFlags { 68 AIM_DISPLAYNAME = 0x1,AIM_VERSION = 0x2,AIM_PUBLISHER = 0x4,AIM_PRODUCTID = 0x8,AIM_REGISTEREDOWNER = 0x10,AIM_REGISTEREDCOMPANY = 0x20, 69 AIM_LANGUAGE = 0x40,AIM_SUPPORTURL = 0x80,AIM_SUPPORTTELEPHONE = 0x100,AIM_HELPLINK = 0x200,AIM_INSTALLLOCATION = 0x400,AIM_INSTALLSOURCE = 0x800, 70 AIM_INSTALLDATE = 0x1000,AIM_CONTACT = 0x4000,AIM_COMMENTS = 0x8000,AIM_IMAGE = 0x20000,AIM_READMEURL = 0x40000,AIM_UPDATEINFOURL = 0x80000 71 } APPINFODATAFLAGS; 72 73 typedef struct _AppInfoData { 74 DWORD cbSize; 75 DWORD dwMask; 76 LPWSTR pszDisplayName; 77 LPWSTR pszVersion; 78 LPWSTR pszPublisher; 79 LPWSTR pszProductID; 80 LPWSTR pszRegisteredOwner; 81 LPWSTR pszRegisteredCompany; 82 LPWSTR pszLanguage; 83 LPWSTR pszSupportUrl; 84 LPWSTR pszSupportTelephone; 85 LPWSTR pszHelpLink; 86 LPWSTR pszInstallLocation; 87 LPWSTR pszInstallSource; 88 LPWSTR pszInstallDate; 89 LPWSTR pszContact; 90 LPWSTR pszComments; 91 LPWSTR pszImage; 92 LPWSTR pszReadmeUrl; 93 LPWSTR pszUpdateInfoUrl; 94 } APPINFODATA; 95 96 typedef struct _AppInfoData *PAPPINFODATA; 97 98 typedef enum _tagAppActionFlags { 99 APPACTION_INSTALL = 0x1,APPACTION_UNINSTALL = 0x2,APPACTION_MODIFY = 0x4,APPACTION_REPAIR = 0x8,APPACTION_UPGRADE = 0x10, 100 APPACTION_CANGETSIZE = 0x20,APPACTION_MODIFYREMOVE = 0x80,APPACTION_ADDLATER = 0x100,APPACTION_UNSCHEDULE = 0x200 101 } APPACTIONFLAGS; 102 103 typedef struct _tagSlowAppInfo { 104 ULONGLONG ullSize; 105 FILETIME ftLastUsed; 106 int iTimesUsed; 107 LPWSTR pszImage; 108 } SLOWAPPINFO; 109 110 typedef struct _tagSlowAppInfo *PSLOWAPPINFO; 111 112 EXTERN_C const IID IID_IShellApp; 113 #if defined(__cplusplus) && !defined(CINTERFACE) 114 struct IShellApp : public IUnknown { 115 public: 116 virtual HRESULT WINAPI GetAppInfo(PAPPINFODATA pai) = 0; 117 virtual HRESULT WINAPI GetPossibleActions(DWORD *pdwActions) = 0; 118 virtual HRESULT WINAPI GetSlowAppInfo(PSLOWAPPINFO psaid) = 0; 119 virtual HRESULT WINAPI GetCachedSlowAppInfo(PSLOWAPPINFO psaid) = 0; 120 virtual HRESULT WINAPI IsInstalled(void) = 0; 121 }; 122 #else 123 typedef struct IShellAppVtbl { 124 BEGIN_INTERFACE 125 HRESULT (WINAPI *QueryInterface)(IShellApp *This,REFIID riid,void **ppvObject); 126 ULONG (WINAPI *AddRef)(IShellApp *This); 127 ULONG (WINAPI *Release)(IShellApp *This); 128 HRESULT (WINAPI *GetAppInfo)(IShellApp *This,PAPPINFODATA pai); 129 HRESULT (WINAPI *GetPossibleActions)(IShellApp *This,DWORD *pdwActions); 130 HRESULT (WINAPI *GetSlowAppInfo)(IShellApp *This,PSLOWAPPINFO psaid); 131 HRESULT (WINAPI *GetCachedSlowAppInfo)(IShellApp *This,PSLOWAPPINFO psaid); 132 HRESULT (WINAPI *IsInstalled)(IShellApp *This); 133 END_INTERFACE 134 } IShellAppVtbl; 135 struct IShellApp { 136 CONST_VTBL struct IShellAppVtbl *lpVtbl; 137 }; 138 #ifdef COBJMACROS 139 #define IShellApp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 140 #define IShellApp_AddRef(This) (This)->lpVtbl->AddRef(This) 141 #define IShellApp_Release(This) (This)->lpVtbl->Release(This) 142 #define IShellApp_GetAppInfo(This,pai) (This)->lpVtbl->GetAppInfo(This,pai) 143 #define IShellApp_GetPossibleActions(This,pdwActions) (This)->lpVtbl->GetPossibleActions(This,pdwActions) 144 #define IShellApp_GetSlowAppInfo(This,psaid) (This)->lpVtbl->GetSlowAppInfo(This,psaid) 145 #define IShellApp_GetCachedSlowAppInfo(This,psaid) (This)->lpVtbl->GetCachedSlowAppInfo(This,psaid) 146 #define IShellApp_IsInstalled(This) (This)->lpVtbl->IsInstalled(This) 147 #endif 148 #endif 149 HRESULT WINAPI IShellApp_GetAppInfo_Proxy(IShellApp *This,PAPPINFODATA pai); 150 void __RPC_STUB IShellApp_GetAppInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 151 HRESULT WINAPI IShellApp_GetPossibleActions_Proxy(IShellApp *This,DWORD *pdwActions); 152 void __RPC_STUB IShellApp_GetPossibleActions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 153 HRESULT WINAPI IShellApp_GetSlowAppInfo_Proxy(IShellApp *This,PSLOWAPPINFO psaid); 154 void __RPC_STUB IShellApp_GetSlowAppInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 155 HRESULT WINAPI IShellApp_GetCachedSlowAppInfo_Proxy(IShellApp *This,PSLOWAPPINFO psaid); 156 void __RPC_STUB IShellApp_GetCachedSlowAppInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 157 HRESULT WINAPI IShellApp_IsInstalled_Proxy(IShellApp *This); 158 void __RPC_STUB IShellApp_IsInstalled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 159 #endif 160 161 #ifndef __IPublishedApp_INTERFACE_DEFINED__ 162 #define __IPublishedApp_INTERFACE_DEFINED__ 163 typedef enum _tagPublishedAppInfoFlags { 164 PAI_SOURCE = 0x1,PAI_ASSIGNEDTIME = 0x2,PAI_PUBLISHEDTIME = 0x4,PAI_SCHEDULEDTIME = 0x8,PAI_EXPIRETIME = 0x10 165 } PUBAPPINFOFLAGS; 166 167 typedef struct _PubAppInfo { 168 DWORD cbSize; 169 DWORD dwMask; 170 LPWSTR pszSource; 171 SYSTEMTIME stAssigned; 172 SYSTEMTIME stPublished; 173 SYSTEMTIME stScheduled; 174 SYSTEMTIME stExpire; 175 } PUBAPPINFO; 176 177 typedef struct _PubAppInfo *PPUBAPPINFO; 178 179 EXTERN_C const IID IID_IPublishedApp; 180 #if defined(__cplusplus) && !defined(CINTERFACE) 181 struct IPublishedApp : public IShellApp { 182 public: 183 virtual HRESULT WINAPI Install(LPSYSTEMTIME pstInstall) = 0; 184 virtual HRESULT WINAPI GetPublishedAppInfo(PPUBAPPINFO ppai) = 0; 185 virtual HRESULT WINAPI Unschedule(void) = 0; 186 }; 187 #else 188 typedef struct IPublishedAppVtbl { 189 BEGIN_INTERFACE 190 HRESULT (WINAPI *QueryInterface)(IPublishedApp *This,REFIID riid,void **ppvObject); 191 ULONG (WINAPI *AddRef)(IPublishedApp *This); 192 ULONG (WINAPI *Release)(IPublishedApp *This); 193 HRESULT (WINAPI *GetAppInfo)(IPublishedApp *This,PAPPINFODATA pai); 194 HRESULT (WINAPI *GetPossibleActions)(IPublishedApp *This,DWORD *pdwActions); 195 HRESULT (WINAPI *GetSlowAppInfo)(IPublishedApp *This,PSLOWAPPINFO psaid); 196 HRESULT (WINAPI *GetCachedSlowAppInfo)(IPublishedApp *This,PSLOWAPPINFO psaid); 197 HRESULT (WINAPI *IsInstalled)(IPublishedApp *This); 198 HRESULT (WINAPI *Install)(IPublishedApp *This,LPSYSTEMTIME pstInstall); 199 HRESULT (WINAPI *GetPublishedAppInfo)(IPublishedApp *This,PPUBAPPINFO ppai); 200 HRESULT (WINAPI *Unschedule)(IPublishedApp *This); 201 END_INTERFACE 202 } IPublishedAppVtbl; 203 struct IPublishedApp { 204 CONST_VTBL struct IPublishedAppVtbl *lpVtbl; 205 }; 206 #ifdef COBJMACROS 207 #define IPublishedApp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 208 #define IPublishedApp_AddRef(This) (This)->lpVtbl->AddRef(This) 209 #define IPublishedApp_Release(This) (This)->lpVtbl->Release(This) 210 #define IPublishedApp_GetAppInfo(This,pai) (This)->lpVtbl->GetAppInfo(This,pai) 211 #define IPublishedApp_GetPossibleActions(This,pdwActions) (This)->lpVtbl->GetPossibleActions(This,pdwActions) 212 #define IPublishedApp_GetSlowAppInfo(This,psaid) (This)->lpVtbl->GetSlowAppInfo(This,psaid) 213 #define IPublishedApp_GetCachedSlowAppInfo(This,psaid) (This)->lpVtbl->GetCachedSlowAppInfo(This,psaid) 214 #define IPublishedApp_IsInstalled(This) (This)->lpVtbl->IsInstalled(This) 215 #define IPublishedApp_Install(This,pstInstall) (This)->lpVtbl->Install(This,pstInstall) 216 #define IPublishedApp_GetPublishedAppInfo(This,ppai) (This)->lpVtbl->GetPublishedAppInfo(This,ppai) 217 #define IPublishedApp_Unschedule(This) (This)->lpVtbl->Unschedule(This) 218 #endif 219 #endif 220 HRESULT WINAPI IPublishedApp_Install_Proxy(IPublishedApp *This,LPSYSTEMTIME pstInstall); 221 void __RPC_STUB IPublishedApp_Install_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 222 HRESULT WINAPI IPublishedApp_GetPublishedAppInfo_Proxy(IPublishedApp *This,PPUBAPPINFO ppai); 223 void __RPC_STUB IPublishedApp_GetPublishedAppInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 224 HRESULT WINAPI IPublishedApp_Unschedule_Proxy(IPublishedApp *This); 225 void __RPC_STUB IPublishedApp_Unschedule_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 226 #endif 227 228 #ifndef __IEnumPublishedApps_INTERFACE_DEFINED__ 229 #define __IEnumPublishedApps_INTERFACE_DEFINED__ 230 EXTERN_C const IID IID_IEnumPublishedApps; 231 #if defined(__cplusplus) && !defined(CINTERFACE) 232 struct IEnumPublishedApps : public IUnknown { 233 public: 234 virtual HRESULT WINAPI Next(IPublishedApp **pia) = 0; 235 virtual HRESULT WINAPI Reset(void) = 0; 236 }; 237 #else 238 typedef struct IEnumPublishedAppsVtbl { 239 BEGIN_INTERFACE 240 HRESULT (WINAPI *QueryInterface)(IEnumPublishedApps *This,REFIID riid,void **ppvObject); 241 ULONG (WINAPI *AddRef)(IEnumPublishedApps *This); 242 ULONG (WINAPI *Release)(IEnumPublishedApps *This); 243 HRESULT (WINAPI *Next)(IEnumPublishedApps *This,IPublishedApp **pia); 244 HRESULT (WINAPI *Reset)(IEnumPublishedApps *This); 245 END_INTERFACE 246 } IEnumPublishedAppsVtbl; 247 struct IEnumPublishedApps { 248 CONST_VTBL struct IEnumPublishedAppsVtbl *lpVtbl; 249 }; 250 #ifdef COBJMACROS 251 #define IEnumPublishedApps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 252 #define IEnumPublishedApps_AddRef(This) (This)->lpVtbl->AddRef(This) 253 #define IEnumPublishedApps_Release(This) (This)->lpVtbl->Release(This) 254 #define IEnumPublishedApps_Next(This,pia) (This)->lpVtbl->Next(This,pia) 255 #define IEnumPublishedApps_Reset(This) (This)->lpVtbl->Reset(This) 256 #endif 257 #endif 258 HRESULT WINAPI IEnumPublishedApps_Next_Proxy(IEnumPublishedApps *This,IPublishedApp **pia); 259 void __RPC_STUB IEnumPublishedApps_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 260 HRESULT WINAPI IEnumPublishedApps_Reset_Proxy(IEnumPublishedApps *This); 261 void __RPC_STUB IEnumPublishedApps_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 262 #endif 263 264 #ifndef __IAppPublisher_INTERFACE_DEFINED__ 265 #define __IAppPublisher_INTERFACE_DEFINED__ 266 EXTERN_C const IID IID_IAppPublisher; 267 #if defined(__cplusplus) && !defined(CINTERFACE) 268 struct IAppPublisher : public IUnknown { 269 public: 270 virtual HRESULT WINAPI GetNumberOfCategories(DWORD *pdwCat) = 0; 271 virtual HRESULT WINAPI GetCategories(APPCATEGORYINFOLIST *pAppCategoryList) = 0; 272 virtual HRESULT WINAPI GetNumberOfApps(DWORD *pdwApps) = 0; 273 virtual HRESULT WINAPI EnumApps(GUID *pAppCategoryId,IEnumPublishedApps **ppepa) = 0; 274 }; 275 #else 276 typedef struct IAppPublisherVtbl { 277 BEGIN_INTERFACE 278 HRESULT (WINAPI *QueryInterface)(IAppPublisher *This,REFIID riid,void **ppvObject); 279 ULONG (WINAPI *AddRef)(IAppPublisher *This); 280 ULONG (WINAPI *Release)(IAppPublisher *This); 281 HRESULT (WINAPI *GetNumberOfCategories)(IAppPublisher *This,DWORD *pdwCat); 282 HRESULT (WINAPI *GetCategories)(IAppPublisher *This,APPCATEGORYINFOLIST *pAppCategoryList); 283 HRESULT (WINAPI *GetNumberOfApps)(IAppPublisher *This,DWORD *pdwApps); 284 HRESULT (WINAPI *EnumApps)(IAppPublisher *This,GUID *pAppCategoryId,IEnumPublishedApps **ppepa); 285 END_INTERFACE 286 } IAppPublisherVtbl; 287 struct IAppPublisher { 288 CONST_VTBL struct IAppPublisherVtbl *lpVtbl; 289 }; 290 #ifdef COBJMACROS 291 #define IAppPublisher_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 292 #define IAppPublisher_AddRef(This) (This)->lpVtbl->AddRef(This) 293 #define IAppPublisher_Release(This) (This)->lpVtbl->Release(This) 294 #define IAppPublisher_GetNumberOfCategories(This,pdwCat) (This)->lpVtbl->GetNumberOfCategories(This,pdwCat) 295 #define IAppPublisher_GetCategories(This,pAppCategoryList) (This)->lpVtbl->GetCategories(This,pAppCategoryList) 296 #define IAppPublisher_GetNumberOfApps(This,pdwApps) (This)->lpVtbl->GetNumberOfApps(This,pdwApps) 297 #define IAppPublisher_EnumApps(This,pAppCategoryId,ppepa) (This)->lpVtbl->EnumApps(This,pAppCategoryId,ppepa) 298 #endif 299 #endif 300 HRESULT WINAPI IAppPublisher_GetNumberOfCategories_Proxy(IAppPublisher *This,DWORD *pdwCat); 301 void __RPC_STUB IAppPublisher_GetNumberOfCategories_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 302 HRESULT WINAPI IAppPublisher_GetCategories_Proxy(IAppPublisher *This,APPCATEGORYINFOLIST *pAppCategoryList); 303 void __RPC_STUB IAppPublisher_GetCategories_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 304 HRESULT WINAPI IAppPublisher_GetNumberOfApps_Proxy(IAppPublisher *This,DWORD *pdwApps); 305 void __RPC_STUB IAppPublisher_GetNumberOfApps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 306 HRESULT WINAPI IAppPublisher_EnumApps_Proxy(IAppPublisher *This,GUID *pAppCategoryId,IEnumPublishedApps **ppepa); 307 void __RPC_STUB IAppPublisher_EnumApps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); 308 #endif 309 #endif 310 311 extern RPC_IF_HANDLE __MIDL_itf_shappmgr_0266_v0_0_c_ifspec; 312 extern RPC_IF_HANDLE __MIDL_itf_shappmgr_0266_v0_0_s_ifspec; 313 314 #ifdef __cplusplus 315 } 316 #endif 317 #endif 318