Home | History | Annotate | Download | only in include
      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