1 typedef interface IPackageManager IPackageManager; 2 typedef interface IPackage IPackage; 3 typedef interface IPackageId IPackageId; 4 typedef interface IPackageVersion IPackageVersion; 5 6 DEFINE_GUID(IID_IPackageManager, 0x9A7D4B65, 0x5E8F, 0x4FC7, 0xA2, 0xE5, 0x7F, 0x69, 0x25, 0xCB, 0x8B, 0x53); 7 DEFINE_GUID(IID_IPackage, 0x163C792F, 0xBD75, 0x413C, 0xBF, 0x23, 0xB1, 0xFE, 0x7B, 0x95, 0xD8, 0x25); 8 9 /* IPackageManager */ 10 typedef struct IPackageManagerVtbl { 11 BEGIN_INTERFACE 12 13 /*** IUnknown methods ***/ 14 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 15 IPackageManager *This, 16 REFIID riid, 17 void **ppvObject); 18 19 ULONG (STDMETHODCALLTYPE *AddRef)( 20 IPackageManager *This); 21 22 ULONG (STDMETHODCALLTYPE *Release)( 23 IPackageManager *This); 24 25 /*** IInspectable methods ***/ 26 HRESULT (STDMETHODCALLTYPE *GetIids)( 27 IPackageManager *This, 28 UINT32 *count, 29 IID **ids); 30 31 HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( 32 IPackageManager *This, 33 HSTRING *className); 34 35 HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( 36 IPackageManager *This, 37 TrustLevel *trustLevel); 38 39 /*** IPackageManager methods ***/ 40 HRESULT (STDMETHODCALLTYPE *stub_AddPackageAsync)( 41 IPackageManager *This); 42 43 HRESULT (STDMETHODCALLTYPE *stub_UpdatePackageAsync)( 44 IPackageManager *This); 45 46 HRESULT (STDMETHODCALLTYPE *stub_RemovePackageAsync)( 47 IPackageManager *This); 48 49 HRESULT (STDMETHODCALLTYPE *stub_StagePackageAsync)( 50 IPackageManager *This); 51 52 HRESULT (STDMETHODCALLTYPE *stub_RegisterPackageAsync)( 53 IPackageManager *This); 54 55 HRESULT (STDMETHODCALLTYPE *FindPackages)( 56 IPackageManager *This, 57 IIterable **retval); 58 59 HRESULT (STDMETHODCALLTYPE *FindPackagesByUserSecurityId)( 60 IPackageManager *This, 61 HSTRING userSecurityId, 62 IIterable **retval); 63 64 HRESULT (STDMETHODCALLTYPE *stub_FindPackagesByNamePublisher)( 65 IPackageManager *This); 66 67 HRESULT (STDMETHODCALLTYPE *stub_FindPackagesByUserSecurityIdNamePublisher)( 68 IPackageManager *This); 69 70 HRESULT (STDMETHODCALLTYPE *stub_FindUsers)( 71 IPackageManager *This); 72 73 HRESULT (STDMETHODCALLTYPE *stub_SetPackageState)( 74 IPackageManager *This); 75 76 HRESULT (STDMETHODCALLTYPE *stub_FindPackageByPackageFullName)( 77 IPackageManager *This); 78 79 HRESULT (STDMETHODCALLTYPE *stub_CleanupPackageForUserAsync)( 80 IPackageManager *This); 81 82 HRESULT (STDMETHODCALLTYPE *stub_FindPackagesByPackageFamilyName)( 83 IPackageManager *This); 84 85 HRESULT (STDMETHODCALLTYPE *stub_FindPackagesByUserSecurityIdPackageFamilyName)( 86 IPackageManager *This); 87 88 HRESULT (STDMETHODCALLTYPE *stub_FindPackageByUserSecurityIdPackageFullName)( 89 IPackageManager *This); 90 91 END_INTERFACE 92 } IPackageManagerVtbl; 93 94 interface IPackageManager { 95 CONST_VTBL IPackageManagerVtbl* lpVtbl; 96 }; 97 98 /*** IUnknown methods ***/ 99 #define IPackageManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 100 #define IPackageManager_AddRef(This) (This)->lpVtbl->AddRef(This) 101 #define IPackageManager_Release(This) (This)->lpVtbl->Release(This) 102 /*** IInspectable methods ***/ 103 #define IPackageManager_GetIids(This,count,ids) (This)->lpVtbl->GetIids(This,count,ids) 104 #define IPackageManager_GetRuntimeClassName(This,name) (This)->lpVtbl->GetRuntimeClassName(This,name) 105 #define IPackageManager_GetTrustLevel(This,level) (This)->lpVtbl->GetTrustLevel(This,level) 106 /*** IPackageManager methods ***/ 107 #define IPackageManager_FindPackages(This,retval) (This)->lpVtbl->FindPackages(This,retval) 108 #define IPackageManager_FindPackagesByUserSecurityId(This,userSecurityId,retval) (This)->lpVtbl->FindPackagesByUserSecurityId(This,userSecurityId,retval) 109 110 /* IPackageId */ 111 typedef struct IPackageIdVtbl { 112 BEGIN_INTERFACE 113 114 /*** IUnknown methods ***/ 115 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 116 IPackageId *This, 117 REFIID riid, 118 void **ppvObject); 119 120 ULONG (STDMETHODCALLTYPE *AddRef)( 121 IPackageId *This); 122 123 ULONG (STDMETHODCALLTYPE *Release)( 124 IPackageId *This); 125 126 /*** IInspectable methods ***/ 127 HRESULT (STDMETHODCALLTYPE *GetIids)( 128 IPackageId *This, 129 UINT32 *count, 130 IID **ids); 131 132 HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( 133 IPackageId *This, 134 HSTRING *className); 135 136 HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( 137 IPackageId *This, 138 TrustLevel *trustLevel); 139 140 /*** IPackageId methods ***/ 141 HRESULT (STDMETHODCALLTYPE *get_Name)( 142 IPackageId *This, 143 HSTRING *value); 144 145 HRESULT (STDMETHODCALLTYPE *get_Version)( 146 IPackageId *This, 147 IPackageVersion *value); 148 149 HRESULT (STDMETHODCALLTYPE *get_Architecture)( 150 IPackageId *This, 151 IProcessorArchitecture *value); 152 153 HRESULT (STDMETHODCALLTYPE *get_ResourceId)( 154 IPackageId *This, 155 HSTRING *value); 156 157 HRESULT (STDMETHODCALLTYPE *get_Publisher)( 158 IPackageId *This, 159 HSTRING *value); 160 161 HRESULT (STDMETHODCALLTYPE *get_PublisherId)( 162 IPackageId *This, 163 HSTRING *value); 164 165 HRESULT (STDMETHODCALLTYPE *get_FullName)( 166 IPackageId *This, 167 HSTRING *value); 168 169 HRESULT (STDMETHODCALLTYPE *get_FamilyName)( 170 IPackageId *This, 171 HSTRING *value); 172 173 END_INTERFACE 174 } IPackageIdVtbl; 175 176 interface IPackageId { 177 CONST_VTBL IPackageIdVtbl* lpVtbl; 178 }; 179 180 /*** IUnknown methods ***/ 181 #define IPackageId_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 182 #define IPackageId_AddRef(This) (This)->lpVtbl->AddRef(This) 183 #define IPackageId_Release(This) (This)->lpVtbl->Release(This) 184 /*** IInspectable methods ***/ 185 #define IPackageId_GetIids(This,count,ids) (This)->lpVtbl->GetIids(This,count,ids) 186 #define IPackageId_GetRuntimeClassName(This,name) (This)->lpVtbl->GetRuntimeClassName(This,name) 187 #define IPackageId_GetTrustLevel(This,level) (This)->lpVtbl->GetTrustLevel(This,level) 188 /*** IPackageId methods ***/ 189 #define IPackageId_get_Name(This,value) (This)->lpVtbl->get_Name(This,value) 190 #define IPackageId_get_Version(This,value) (This)->lpVtbl->get_Version(This,value) 191 #define IPackageId_get_Architecture(This,value) (This)->lpVtbl->get_Architecture(This,value) 192 #define IPackageId_get_ResourceId(This,value) (This)->lpVtbl->get_ResourceId(This,value) 193 #define IPackageId_get_Publisher(This,value) (This)->lpVtbl->get_Publisher(This,value) 194 #define IPackageId_get_PublisherId(This,value) (This)->lpVtbl->get_PublisherId(This,value) 195 #define IPackageId_get_FullName(This,value) (This)->lpVtbl->get_FullName(This,value) 196 #define IPackageId_get_FamilyName(This,value) (This)->lpVtbl->get_FamilyName(This,value) 197 198 /* IPackage */ 199 typedef struct IPackageVtbl { 200 BEGIN_INTERFACE 201 202 /*** IUnknown methods ***/ 203 HRESULT (STDMETHODCALLTYPE *QueryInterface)( 204 IPackage *This, 205 REFIID riid, 206 void **ppvObject); 207 208 ULONG (STDMETHODCALLTYPE *AddRef)( 209 IPackage *This); 210 211 ULONG (STDMETHODCALLTYPE *Release)( 212 IPackage *This); 213 214 /*** IInspectable methods ***/ 215 HRESULT (STDMETHODCALLTYPE *GetIids)( 216 IPackage *This, 217 UINT32 *count, 218 IID **ids); 219 220 HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( 221 IPackage *This, 222 HSTRING *className); 223 224 HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( 225 IPackage *This, 226 TrustLevel *trustLevel); 227 228 /*** IPackage methods ***/ 229 HRESULT (STDMETHODCALLTYPE *get_Id)( 230 IPackage *This, 231 IPackageId **value); 232 233 HRESULT (STDMETHODCALLTYPE *get_InstalledLocation)( 234 IPackage *This, 235 IUnknown **value); 236 237 HRESULT (STDMETHODCALLTYPE *get_IsFramework)( 238 IPackage *This, 239 CHAR *value); 240 241 HRESULT (STDMETHODCALLTYPE *get_Dependencies)( 242 IPackage *This, 243 void **value); 244 245 END_INTERFACE 246 } IPackageVtbl; 247 248 interface IPackage { 249 CONST_VTBL IPackageVtbl* lpVtbl; 250 }; 251 252 /*** IUnknown methods ***/ 253 #define IPackage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 254 #define IPackage_AddRef(This) (This)->lpVtbl->AddRef(This) 255 #define IPackage_Release(This) (This)->lpVtbl->Release(This) 256 /*** IInspectable methods ***/ 257 #define IPackage_GetIids(This,count,ids) (This)->lpVtbl->GetIids(This,count,ids) 258 #define IPackage_GetRuntimeClassName(This,name) (This)->lpVtbl->GetRuntimeClassName(This,name) 259 #define IPackage_GetTrustLevel(This,level) (This)->lpVtbl->GetTrustLevel(This,level) 260 /*** IPackage methods ***/ 261 #define IPackage_get_Id(This,value) (This)->lpVtbl->get_Id(This,value) 262 #define IPackage_get_InstalledLocation(This,value) (This)->lpVtbl->get_InstalledLocation(This,value) 263 #define IPackage_get_IsFramework(This,value) (This)->lpVtbl->get_IsFramework(This,value) 264 #define IPackage_get_Dependencies(This,value) (This)->lpVtbl->get_Dependencies(This,value) 265