Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1165 lines
33 KiB

  1. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3. /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for cs.idl:
  5. Oicf, W1, Zp8, env=Win32 (32b run)
  6. protocol : dce , ms_ext, c_ext, oldnames, robust
  7. error checks: allocation ref bounds_check enum stub_data
  8. VC __declspec() decoration level:
  9. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10. DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING( )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __cs_h__
  27. #define __cs_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __IEnumPackage_FWD_DEFINED__
  33. #define __IEnumPackage_FWD_DEFINED__
  34. typedef interface IEnumPackage IEnumPackage;
  35. #endif /* __IEnumPackage_FWD_DEFINED__ */
  36. #ifndef __IClassAccess_FWD_DEFINED__
  37. #define __IClassAccess_FWD_DEFINED__
  38. typedef interface IClassAccess IClassAccess;
  39. #endif /* __IClassAccess_FWD_DEFINED__ */
  40. #ifndef __IClassAdmin_FWD_DEFINED__
  41. #define __IClassAdmin_FWD_DEFINED__
  42. typedef interface IClassAdmin IClassAdmin;
  43. #endif /* __IClassAdmin_FWD_DEFINED__ */
  44. /* header files for imported files */
  45. #include "unknwn.h"
  46. #include "appmgmt.h"
  47. #ifdef __cplusplus
  48. extern "C"{
  49. #endif
  50. void * __RPC_USER MIDL_user_allocate(size_t);
  51. void __RPC_USER MIDL_user_free( void * );
  52. /* interface __MIDL_itf_cs_0000 */
  53. /* [local] */
  54. #define ACTFLG_UninstallUnmanaged ( 0x4 )
  55. #define ACTFLG_Published ( 0x8 )
  56. #define ACTFLG_POSTBETA3 ( 0x10 )
  57. #define ACTFLG_UserInstall ( 0x20 )
  58. #define ACTFLG_OnDemandInstall ( 0x40 )
  59. #define ACTFLG_Orphan ( 0x80 )
  60. #define ACTFLG_Uninstall ( 0x100 )
  61. #define ACTFLG_Pilot ( 0x200 )
  62. #define ACTFLG_Assigned ( 0x400 )
  63. #define ACTFLG_OrphanOnPolicyRemoval ( 0x800 )
  64. #define ACTFLG_UninstallOnPolicyRemoval ( 0x1000 )
  65. #define ACTFLG_InstallUserAssign ( 0x2000 )
  66. #define ACTFLG_ForceUpgrade ( 0x4000 )
  67. #define ACTFLG_MinimalInstallUI ( 0x8000 )
  68. #define ACTFLG_ExcludeX86OnIA64 ( 0x10000 )
  69. #define ACTFLG_IgnoreLanguage ( 0x20000 )
  70. #define ACTFLG_HasUpgrades ( 0x40000 )
  71. #define ACTFLG_FullInstallUI ( 0x80000 )
  72. #define APPQUERY_ALL ( 1 )
  73. #define APPQUERY_ADMINISTRATIVE ( 2 )
  74. #define APPQUERY_POLICY ( 3 )
  75. #define APPQUERY_USERDISPLAY ( 4 )
  76. #define APPQUERY_RSOP_LOGGING ( 5 )
  77. #define APPQUERY_RSOP_ARP ( 6 )
  78. #define UPGFLG_Uninstall ( 0x1 )
  79. #define UPGFLG_NoUninstall ( 0x2 )
  80. #define UPGFLG_UpgradedBy ( 0x4 )
  81. #define UPGFLG_Enforced ( 0x8 )
  82. typedef /* [v1_enum] */
  83. enum _CLASSPATHTYPE
  84. { ExeNamePath = 0,
  85. DllNamePath = ExeNamePath + 1,
  86. TlbNamePath = DllNamePath + 1,
  87. CabFilePath = TlbNamePath + 1,
  88. InfFilePath = CabFilePath + 1,
  89. DrwFilePath = InfFilePath + 1,
  90. SetupNamePath = DrwFilePath + 1
  91. } CLASSPATHTYPE;
  92. typedef struct tagUPGRADEINFO
  93. {
  94. LPOLESTR szClassStore;
  95. GUID PackageGuid;
  96. GUID GpoId;
  97. DWORD Flag;
  98. } UPGRADEINFO;
  99. #define CLSCTX64_INPROC_SERVER ( 0x10000000 )
  100. #define CLSCTX64_INPROC_HANDLER ( 0x20000000 )
  101. typedef struct tagCLASSDETAIL
  102. {
  103. CLSID Clsid;
  104. CLSID TreatAs;
  105. DWORD dwComClassContext;
  106. DWORD cProgId;
  107. DWORD cMaxProgId;
  108. /* [size_is] */ LPOLESTR *prgProgId;
  109. } CLASSDETAIL;
  110. typedef struct tagACTVATIONINFO
  111. {
  112. UINT cClasses;
  113. /* [size_is] */ CLASSDETAIL *pClasses;
  114. UINT cShellFileExt;
  115. /* [size_is] */ LPOLESTR *prgShellFileExt;
  116. /* [size_is] */ UINT *prgPriority;
  117. UINT cInterfaces;
  118. /* [size_is] */ IID *prgInterfaceId;
  119. UINT cTypeLib;
  120. /* [size_is] */ GUID *prgTlbId;
  121. BOOL bHasClasses;
  122. } ACTIVATIONINFO;
  123. typedef struct tagINSTALLINFO
  124. {
  125. DWORD dwActFlags;
  126. CLASSPATHTYPE PathType;
  127. LPOLESTR pszScriptPath;
  128. LPOLESTR pszSetupCommand;
  129. LPOLESTR pszUrl;
  130. ULONGLONG Usn;
  131. UINT InstallUiLevel;
  132. GUID *pClsid;
  133. GUID ProductCode;
  134. GUID PackageGuid;
  135. GUID Mvipc;
  136. DWORD dwVersionHi;
  137. DWORD dwVersionLo;
  138. DWORD dwRevision;
  139. UINT cUpgrades;
  140. /* [size_is] */ UPGRADEINFO *prgUpgradeInfoList;
  141. ULONG cScriptLen;
  142. } INSTALLINFO;
  143. typedef struct tagPLATFORMINFO
  144. {
  145. UINT cPlatforms;
  146. /* [size_is] */ CSPLATFORM *prgPlatform;
  147. UINT cLocales;
  148. /* [size_is] */ LCID *prgLocale;
  149. } PLATFORMINFO;
  150. typedef struct tagPACKAGEDETAIL
  151. {
  152. LPOLESTR pszPackageName;
  153. LPOLESTR pszPublisher;
  154. UINT cSources;
  155. /* [size_is] */ LPOLESTR *pszSourceList;
  156. UINT cCategories;
  157. /* [size_is] */ GUID *rpCategory;
  158. ACTIVATIONINFO *pActInfo;
  159. PLATFORMINFO *pPlatformInfo;
  160. INSTALLINFO *pInstallInfo;
  161. } PACKAGEDETAIL;
  162. #ifndef _LPCSADMNENUM_DEFINED
  163. #define _LPCSADMNENUM_DEFINED
  164. typedef struct tagPACKAGEDISPINFO
  165. {
  166. LPOLESTR pszPackageName;
  167. DWORD dwActFlags;
  168. CLASSPATHTYPE PathType;
  169. LPOLESTR pszScriptPath;
  170. LPOLESTR pszPublisher;
  171. LPOLESTR pszUrl;
  172. UINT InstallUiLevel;
  173. GUID ProductCode;
  174. GUID PackageGuid;
  175. ULONGLONG Usn;
  176. DWORD dwVersionHi;
  177. DWORD dwVersionLo;
  178. DWORD dwRevision;
  179. GUID GpoId;
  180. UINT cUpgrades;
  181. /* [size_is] */ UPGRADEINFO *prgUpgradeInfoList;
  182. LANGID LangId;
  183. BYTE *rgSecurityDescriptor;
  184. UINT cbSecurityDescriptor;
  185. WCHAR *pszGpoPath;
  186. DWORD MatchedArchitecture;
  187. UINT cArchitectures;
  188. /* [size_is] */ DWORD *prgArchitectures;
  189. UINT cTransforms;
  190. /* [size_is] */ LPOLESTR *prgTransforms;
  191. UINT cCategories;
  192. /* [size_is] */ LPOLESTR *prgCategories;
  193. } PACKAGEDISPINFO;
  194. extern RPC_IF_HANDLE __MIDL_itf_cs_0000_ClientIfHandle;
  195. extern RPC_IF_HANDLE __MIDL_itf_cs_0000_ServerIfHandle;
  196. #ifndef __IEnumPackage_INTERFACE_DEFINED__
  197. #define __IEnumPackage_INTERFACE_DEFINED__
  198. /* interface IEnumPackage */
  199. /* [uuid][object][local] */
  200. EXTERN_C const IID IID_IEnumPackage;
  201. #if defined(__cplusplus) && !defined(CINTERFACE)
  202. MIDL_INTERFACE("00000193-0000-0000-C000-000000000046")
  203. IEnumPackage : public IUnknown
  204. {
  205. public:
  206. virtual HRESULT STDMETHODCALLTYPE Next(
  207. /* [in] */ ULONG celt,
  208. /* [length_is][size_is][out] */ PACKAGEDISPINFO *rgelt,
  209. /* [out] */ ULONG *pceltFetched) = 0;
  210. virtual HRESULT STDMETHODCALLTYPE Skip(
  211. /* [in] */ ULONG celt) = 0;
  212. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  213. };
  214. #else /* C style interface */
  215. typedef struct IEnumPackageVtbl
  216. {
  217. BEGIN_INTERFACE
  218. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  219. IEnumPackage * This,
  220. /* [in] */ REFIID riid,
  221. /* [iid_is][out] */ void **ppvObject);
  222. ULONG ( STDMETHODCALLTYPE *AddRef )(
  223. IEnumPackage * This);
  224. ULONG ( STDMETHODCALLTYPE *Release )(
  225. IEnumPackage * This);
  226. HRESULT ( STDMETHODCALLTYPE *Next )(
  227. IEnumPackage * This,
  228. /* [in] */ ULONG celt,
  229. /* [length_is][size_is][out] */ PACKAGEDISPINFO *rgelt,
  230. /* [out] */ ULONG *pceltFetched);
  231. HRESULT ( STDMETHODCALLTYPE *Skip )(
  232. IEnumPackage * This,
  233. /* [in] */ ULONG celt);
  234. HRESULT ( STDMETHODCALLTYPE *Reset )(
  235. IEnumPackage * This);
  236. END_INTERFACE
  237. } IEnumPackageVtbl;
  238. interface IEnumPackage
  239. {
  240. CONST_VTBL struct IEnumPackageVtbl *lpVtbl;
  241. };
  242. #ifdef COBJMACROS
  243. #define IEnumPackage_QueryInterface(This,riid,ppvObject) \
  244. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  245. #define IEnumPackage_AddRef(This) \
  246. (This)->lpVtbl -> AddRef(This)
  247. #define IEnumPackage_Release(This) \
  248. (This)->lpVtbl -> Release(This)
  249. #define IEnumPackage_Next(This,celt,rgelt,pceltFetched) \
  250. (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  251. #define IEnumPackage_Skip(This,celt) \
  252. (This)->lpVtbl -> Skip(This,celt)
  253. #define IEnumPackage_Reset(This) \
  254. (This)->lpVtbl -> Reset(This)
  255. #endif /* COBJMACROS */
  256. #endif /* C style interface */
  257. HRESULT STDMETHODCALLTYPE IEnumPackage_Next_Proxy(
  258. IEnumPackage * This,
  259. /* [in] */ ULONG celt,
  260. /* [length_is][size_is][out] */ PACKAGEDISPINFO *rgelt,
  261. /* [out] */ ULONG *pceltFetched);
  262. void __RPC_STUB IEnumPackage_Next_Stub(
  263. IRpcStubBuffer *This,
  264. IRpcChannelBuffer *_pRpcChannelBuffer,
  265. PRPC_MESSAGE _pRpcMessage,
  266. DWORD *_pdwStubPhase);
  267. HRESULT STDMETHODCALLTYPE IEnumPackage_Skip_Proxy(
  268. IEnumPackage * This,
  269. /* [in] */ ULONG celt);
  270. void __RPC_STUB IEnumPackage_Skip_Stub(
  271. IRpcStubBuffer *This,
  272. IRpcChannelBuffer *_pRpcChannelBuffer,
  273. PRPC_MESSAGE _pRpcMessage,
  274. DWORD *_pdwStubPhase);
  275. HRESULT STDMETHODCALLTYPE IEnumPackage_Reset_Proxy(
  276. IEnumPackage * This);
  277. void __RPC_STUB IEnumPackage_Reset_Stub(
  278. IRpcStubBuffer *This,
  279. IRpcChannelBuffer *_pRpcChannelBuffer,
  280. PRPC_MESSAGE _pRpcMessage,
  281. DWORD *_pdwStubPhase);
  282. #endif /* __IEnumPackage_INTERFACE_DEFINED__ */
  283. /* interface __MIDL_itf_cs_0011 */
  284. /* [local] */
  285. #endif
  286. extern RPC_IF_HANDLE __MIDL_itf_cs_0011_ClientIfHandle;
  287. extern RPC_IF_HANDLE __MIDL_itf_cs_0011_ServerIfHandle;
  288. #ifndef __IClassAccess_INTERFACE_DEFINED__
  289. #define __IClassAccess_INTERFACE_DEFINED__
  290. /* interface IClassAccess */
  291. /* [uuid][object][local] */
  292. EXTERN_C const IID IID_IClassAccess;
  293. #if defined(__cplusplus) && !defined(CINTERFACE)
  294. MIDL_INTERFACE("00000190-0000-0000-C000-000000000046")
  295. IClassAccess : public IUnknown
  296. {
  297. public:
  298. virtual HRESULT STDMETHODCALLTYPE GetAppInfo(
  299. /* [in] */ uCLSSPEC *pClassSpec,
  300. /* [in] */ QUERYCONTEXT *pQryContext,
  301. /* [out] */ PACKAGEDISPINFO *pPackageInfo) = 0;
  302. virtual HRESULT STDMETHODCALLTYPE EnumPackages(
  303. /* [unique][in] */ LPOLESTR pszPackageName,
  304. /* [unique][in] */ GUID *pCategory,
  305. /* [unique][in] */ ULONGLONG *pLastUsn,
  306. /* [in] */ DWORD dwAppFlags,
  307. /* [out] */ IEnumPackage **ppIEnumPackage) = 0;
  308. virtual HRESULT STDMETHODCALLTYPE SetClassStorePath(
  309. /* [unique][in] */ LPOLESTR pszClassStorePath,
  310. /* [unique][in] */ void *pRsopUserToken) = 0;
  311. };
  312. #else /* C style interface */
  313. typedef struct IClassAccessVtbl
  314. {
  315. BEGIN_INTERFACE
  316. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  317. IClassAccess * This,
  318. /* [in] */ REFIID riid,
  319. /* [iid_is][out] */ void **ppvObject);
  320. ULONG ( STDMETHODCALLTYPE *AddRef )(
  321. IClassAccess * This);
  322. ULONG ( STDMETHODCALLTYPE *Release )(
  323. IClassAccess * This);
  324. HRESULT ( STDMETHODCALLTYPE *GetAppInfo )(
  325. IClassAccess * This,
  326. /* [in] */ uCLSSPEC *pClassSpec,
  327. /* [in] */ QUERYCONTEXT *pQryContext,
  328. /* [out] */ PACKAGEDISPINFO *pPackageInfo);
  329. HRESULT ( STDMETHODCALLTYPE *EnumPackages )(
  330. IClassAccess * This,
  331. /* [unique][in] */ LPOLESTR pszPackageName,
  332. /* [unique][in] */ GUID *pCategory,
  333. /* [unique][in] */ ULONGLONG *pLastUsn,
  334. /* [in] */ DWORD dwAppFlags,
  335. /* [out] */ IEnumPackage **ppIEnumPackage);
  336. HRESULT ( STDMETHODCALLTYPE *SetClassStorePath )(
  337. IClassAccess * This,
  338. /* [unique][in] */ LPOLESTR pszClassStorePath,
  339. /* [unique][in] */ void *pRsopUserToken);
  340. END_INTERFACE
  341. } IClassAccessVtbl;
  342. interface IClassAccess
  343. {
  344. CONST_VTBL struct IClassAccessVtbl *lpVtbl;
  345. };
  346. #ifdef COBJMACROS
  347. #define IClassAccess_QueryInterface(This,riid,ppvObject) \
  348. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  349. #define IClassAccess_AddRef(This) \
  350. (This)->lpVtbl -> AddRef(This)
  351. #define IClassAccess_Release(This) \
  352. (This)->lpVtbl -> Release(This)
  353. #define IClassAccess_GetAppInfo(This,pClassSpec,pQryContext,pPackageInfo) \
  354. (This)->lpVtbl -> GetAppInfo(This,pClassSpec,pQryContext,pPackageInfo)
  355. #define IClassAccess_EnumPackages(This,pszPackageName,pCategory,pLastUsn,dwAppFlags,ppIEnumPackage) \
  356. (This)->lpVtbl -> EnumPackages(This,pszPackageName,pCategory,pLastUsn,dwAppFlags,ppIEnumPackage)
  357. #define IClassAccess_SetClassStorePath(This,pszClassStorePath,pRsopUserToken) \
  358. (This)->lpVtbl -> SetClassStorePath(This,pszClassStorePath,pRsopUserToken)
  359. #endif /* COBJMACROS */
  360. #endif /* C style interface */
  361. HRESULT STDMETHODCALLTYPE IClassAccess_GetAppInfo_Proxy(
  362. IClassAccess * This,
  363. /* [in] */ uCLSSPEC *pClassSpec,
  364. /* [in] */ QUERYCONTEXT *pQryContext,
  365. /* [out] */ PACKAGEDISPINFO *pPackageInfo);
  366. void __RPC_STUB IClassAccess_GetAppInfo_Stub(
  367. IRpcStubBuffer *This,
  368. IRpcChannelBuffer *_pRpcChannelBuffer,
  369. PRPC_MESSAGE _pRpcMessage,
  370. DWORD *_pdwStubPhase);
  371. HRESULT STDMETHODCALLTYPE IClassAccess_EnumPackages_Proxy(
  372. IClassAccess * This,
  373. /* [unique][in] */ LPOLESTR pszPackageName,
  374. /* [unique][in] */ GUID *pCategory,
  375. /* [unique][in] */ ULONGLONG *pLastUsn,
  376. /* [in] */ DWORD dwAppFlags,
  377. /* [out] */ IEnumPackage **ppIEnumPackage);
  378. void __RPC_STUB IClassAccess_EnumPackages_Stub(
  379. IRpcStubBuffer *This,
  380. IRpcChannelBuffer *_pRpcChannelBuffer,
  381. PRPC_MESSAGE _pRpcMessage,
  382. DWORD *_pdwStubPhase);
  383. HRESULT STDMETHODCALLTYPE IClassAccess_SetClassStorePath_Proxy(
  384. IClassAccess * This,
  385. /* [unique][in] */ LPOLESTR pszClassStorePath,
  386. /* [unique][in] */ void *pRsopUserToken);
  387. void __RPC_STUB IClassAccess_SetClassStorePath_Stub(
  388. IRpcStubBuffer *This,
  389. IRpcChannelBuffer *_pRpcChannelBuffer,
  390. PRPC_MESSAGE _pRpcMessage,
  391. DWORD *_pdwStubPhase);
  392. #endif /* __IClassAccess_INTERFACE_DEFINED__ */
  393. #ifndef __IClassAdmin_INTERFACE_DEFINED__
  394. #define __IClassAdmin_INTERFACE_DEFINED__
  395. /* interface IClassAdmin */
  396. /* [uuid][object][local] */
  397. EXTERN_C const IID IID_IClassAdmin;
  398. #if defined(__cplusplus) && !defined(CINTERFACE)
  399. MIDL_INTERFACE("00000191-0000-0000-C000-000000000046")
  400. IClassAdmin : public IUnknown
  401. {
  402. public:
  403. virtual HRESULT STDMETHODCALLTYPE GetGPOInfo(
  404. /* [out] */ GUID *pGPOId,
  405. /* [out] */ LPOLESTR *pszPolicyName) = 0;
  406. virtual HRESULT STDMETHODCALLTYPE AddPackage(
  407. /* [in] */ PACKAGEDETAIL *pPackageDetail,
  408. /* [out] */ GUID *pPkgGuid) = 0;
  409. virtual HRESULT STDMETHODCALLTYPE RemovePackage(
  410. /* [in] */ LPOLESTR pszPackageName,
  411. /* [in] */ DWORD dwFlags) = 0;
  412. virtual HRESULT STDMETHODCALLTYPE ChangePackageProperties(
  413. /* [in] */ LPOLESTR pszPackageName,
  414. /* [unique][in] */ LPOLESTR pszNewName,
  415. /* [unique][in] */ DWORD *pdwFlags,
  416. /* [unique][in] */ LPOLESTR pszUrl,
  417. /* [unique][in] */ LPOLESTR pszScriptPath,
  418. /* [unique][in] */ UINT *pInstallUiLevel,
  419. /* [unique][in] */ DWORD *pdwRevision) = 0;
  420. virtual HRESULT STDMETHODCALLTYPE ChangePackageCategories(
  421. /* [in] */ LPOLESTR pszPackageName,
  422. /* [in] */ UINT cCategories,
  423. /* [unique][size_is][in] */ GUID *rpCategory) = 0;
  424. virtual HRESULT STDMETHODCALLTYPE ChangePackageSourceList(
  425. /* [in] */ LPOLESTR pszPackageName,
  426. /* [in] */ UINT cSources,
  427. /* [unique][size_is][in] */ LPOLESTR *pszSourceList) = 0;
  428. virtual HRESULT STDMETHODCALLTYPE ChangePackageUpgradeList(
  429. /* [in] */ LPOLESTR pszPackageName,
  430. /* [in] */ UINT cUpgrades,
  431. /* [unique][size_is][in] */ UPGRADEINFO *prgUpgradeInfoList) = 0;
  432. virtual HRESULT STDMETHODCALLTYPE ChangePackageUpgradeInfoIncremental(
  433. /* [in] */ GUID PkgGuid,
  434. /* [in] */ UPGRADEINFO UpgradeInfo,
  435. /* [in] */ DWORD OpFlags) = 0;
  436. virtual HRESULT STDMETHODCALLTYPE SetPriorityByFileExt(
  437. /* [in] */ LPOLESTR pszPackageName,
  438. /* [in] */ LPOLESTR pszFileExt,
  439. /* [in] */ UINT Priority) = 0;
  440. virtual HRESULT STDMETHODCALLTYPE EnumPackages(
  441. /* [unique][in] */ LPOLESTR pszFileExt,
  442. /* [unique][in] */ GUID *pCategory,
  443. /* [in] */ DWORD dwAppFlags,
  444. /* [unique][in] */ DWORD *pdwLocale,
  445. /* [unique][in] */ CSPLATFORM *pPlatform,
  446. /* [out] */ IEnumPackage **ppIEnumPackage) = 0;
  447. virtual HRESULT STDMETHODCALLTYPE GetPackageDetails(
  448. /* [in] */ LPOLESTR pszPackageName,
  449. /* [out] */ PACKAGEDETAIL *pPackageDetail) = 0;
  450. virtual HRESULT STDMETHODCALLTYPE GetPackageDetailsFromGuid(
  451. /* [in] */ GUID PkgGuid,
  452. /* [out] */ PACKAGEDETAIL *pPackageDetail) = 0;
  453. virtual HRESULT STDMETHODCALLTYPE GetAppCategories(
  454. /* [in] */ LCID Locale,
  455. /* [out] */ APPCATEGORYINFOLIST *pAppCategoryList) = 0;
  456. virtual HRESULT STDMETHODCALLTYPE RegisterAppCategory(
  457. /* [in] */ APPCATEGORYINFO *pAppCategory) = 0;
  458. virtual HRESULT STDMETHODCALLTYPE UnregisterAppCategory(
  459. /* [in] */ GUID *pAppCategoryId) = 0;
  460. virtual HRESULT STDMETHODCALLTYPE Cleanup(
  461. /* [in] */ FILETIME *pTimeBefore) = 0;
  462. virtual HRESULT STDMETHODCALLTYPE GetDNFromPackageName(
  463. /* [in] */ LPOLESTR pszPackageName,
  464. /* [out] */ LPOLESTR *szDN) = 0;
  465. virtual HRESULT STDMETHODCALLTYPE RedeployPackage(
  466. /* [in] */ GUID *pPackageGuid,
  467. /* [in] */ PACKAGEDETAIL *pPackageDetail) = 0;
  468. };
  469. #else /* C style interface */
  470. typedef struct IClassAdminVtbl
  471. {
  472. BEGIN_INTERFACE
  473. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  474. IClassAdmin * This,
  475. /* [in] */ REFIID riid,
  476. /* [iid_is][out] */ void **ppvObject);
  477. ULONG ( STDMETHODCALLTYPE *AddRef )(
  478. IClassAdmin * This);
  479. ULONG ( STDMETHODCALLTYPE *Release )(
  480. IClassAdmin * This);
  481. HRESULT ( STDMETHODCALLTYPE *GetGPOInfo )(
  482. IClassAdmin * This,
  483. /* [out] */ GUID *pGPOId,
  484. /* [out] */ LPOLESTR *pszPolicyName);
  485. HRESULT ( STDMETHODCALLTYPE *AddPackage )(
  486. IClassAdmin * This,
  487. /* [in] */ PACKAGEDETAIL *pPackageDetail,
  488. /* [out] */ GUID *pPkgGuid);
  489. HRESULT ( STDMETHODCALLTYPE *RemovePackage )(
  490. IClassAdmin * This,
  491. /* [in] */ LPOLESTR pszPackageName,
  492. /* [in] */ DWORD dwFlags);
  493. HRESULT ( STDMETHODCALLTYPE *ChangePackageProperties )(
  494. IClassAdmin * This,
  495. /* [in] */ LPOLESTR pszPackageName,
  496. /* [unique][in] */ LPOLESTR pszNewName,
  497. /* [unique][in] */ DWORD *pdwFlags,
  498. /* [unique][in] */ LPOLESTR pszUrl,
  499. /* [unique][in] */ LPOLESTR pszScriptPath,
  500. /* [unique][in] */ UINT *pInstallUiLevel,
  501. /* [unique][in] */ DWORD *pdwRevision);
  502. HRESULT ( STDMETHODCALLTYPE *ChangePackageCategories )(
  503. IClassAdmin * This,
  504. /* [in] */ LPOLESTR pszPackageName,
  505. /* [in] */ UINT cCategories,
  506. /* [unique][size_is][in] */ GUID *rpCategory);
  507. HRESULT ( STDMETHODCALLTYPE *ChangePackageSourceList )(
  508. IClassAdmin * This,
  509. /* [in] */ LPOLESTR pszPackageName,
  510. /* [in] */ UINT cSources,
  511. /* [unique][size_is][in] */ LPOLESTR *pszSourceList);
  512. HRESULT ( STDMETHODCALLTYPE *ChangePackageUpgradeList )(
  513. IClassAdmin * This,
  514. /* [in] */ LPOLESTR pszPackageName,
  515. /* [in] */ UINT cUpgrades,
  516. /* [unique][size_is][in] */ UPGRADEINFO *prgUpgradeInfoList);
  517. HRESULT ( STDMETHODCALLTYPE *ChangePackageUpgradeInfoIncremental )(
  518. IClassAdmin * This,
  519. /* [in] */ GUID PkgGuid,
  520. /* [in] */ UPGRADEINFO UpgradeInfo,
  521. /* [in] */ DWORD OpFlags);
  522. HRESULT ( STDMETHODCALLTYPE *SetPriorityByFileExt )(
  523. IClassAdmin * This,
  524. /* [in] */ LPOLESTR pszPackageName,
  525. /* [in] */ LPOLESTR pszFileExt,
  526. /* [in] */ UINT Priority);
  527. HRESULT ( STDMETHODCALLTYPE *EnumPackages )(
  528. IClassAdmin * This,
  529. /* [unique][in] */ LPOLESTR pszFileExt,
  530. /* [unique][in] */ GUID *pCategory,
  531. /* [in] */ DWORD dwAppFlags,
  532. /* [unique][in] */ DWORD *pdwLocale,
  533. /* [unique][in] */ CSPLATFORM *pPlatform,
  534. /* [out] */ IEnumPackage **ppIEnumPackage);
  535. HRESULT ( STDMETHODCALLTYPE *GetPackageDetails )(
  536. IClassAdmin * This,
  537. /* [in] */ LPOLESTR pszPackageName,
  538. /* [out] */ PACKAGEDETAIL *pPackageDetail);
  539. HRESULT ( STDMETHODCALLTYPE *GetPackageDetailsFromGuid )(
  540. IClassAdmin * This,
  541. /* [in] */ GUID PkgGuid,
  542. /* [out] */ PACKAGEDETAIL *pPackageDetail);
  543. HRESULT ( STDMETHODCALLTYPE *GetAppCategories )(
  544. IClassAdmin * This,
  545. /* [in] */ LCID Locale,
  546. /* [out] */ APPCATEGORYINFOLIST *pAppCategoryList);
  547. HRESULT ( STDMETHODCALLTYPE *RegisterAppCategory )(
  548. IClassAdmin * This,
  549. /* [in] */ APPCATEGORYINFO *pAppCategory);
  550. HRESULT ( STDMETHODCALLTYPE *UnregisterAppCategory )(
  551. IClassAdmin * This,
  552. /* [in] */ GUID *pAppCategoryId);
  553. HRESULT ( STDMETHODCALLTYPE *Cleanup )(
  554. IClassAdmin * This,
  555. /* [in] */ FILETIME *pTimeBefore);
  556. HRESULT ( STDMETHODCALLTYPE *GetDNFromPackageName )(
  557. IClassAdmin * This,
  558. /* [in] */ LPOLESTR pszPackageName,
  559. /* [out] */ LPOLESTR *szDN);
  560. HRESULT ( STDMETHODCALLTYPE *RedeployPackage )(
  561. IClassAdmin * This,
  562. /* [in] */ GUID *pPackageGuid,
  563. /* [in] */ PACKAGEDETAIL *pPackageDetail);
  564. END_INTERFACE
  565. } IClassAdminVtbl;
  566. interface IClassAdmin
  567. {
  568. CONST_VTBL struct IClassAdminVtbl *lpVtbl;
  569. };
  570. #ifdef COBJMACROS
  571. #define IClassAdmin_QueryInterface(This,riid,ppvObject) \
  572. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  573. #define IClassAdmin_AddRef(This) \
  574. (This)->lpVtbl -> AddRef(This)
  575. #define IClassAdmin_Release(This) \
  576. (This)->lpVtbl -> Release(This)
  577. #define IClassAdmin_GetGPOInfo(This,pGPOId,pszPolicyName) \
  578. (This)->lpVtbl -> GetGPOInfo(This,pGPOId,pszPolicyName)
  579. #define IClassAdmin_AddPackage(This,pPackageDetail,pPkgGuid) \
  580. (This)->lpVtbl -> AddPackage(This,pPackageDetail,pPkgGuid)
  581. #define IClassAdmin_RemovePackage(This,pszPackageName,dwFlags) \
  582. (This)->lpVtbl -> RemovePackage(This,pszPackageName,dwFlags)
  583. #define IClassAdmin_ChangePackageProperties(This,pszPackageName,pszNewName,pdwFlags,pszUrl,pszScriptPath,pInstallUiLevel,pdwRevision) \
  584. (This)->lpVtbl -> ChangePackageProperties(This,pszPackageName,pszNewName,pdwFlags,pszUrl,pszScriptPath,pInstallUiLevel,pdwRevision)
  585. #define IClassAdmin_ChangePackageCategories(This,pszPackageName,cCategories,rpCategory) \
  586. (This)->lpVtbl -> ChangePackageCategories(This,pszPackageName,cCategories,rpCategory)
  587. #define IClassAdmin_ChangePackageSourceList(This,pszPackageName,cSources,pszSourceList) \
  588. (This)->lpVtbl -> ChangePackageSourceList(This,pszPackageName,cSources,pszSourceList)
  589. #define IClassAdmin_ChangePackageUpgradeList(This,pszPackageName,cUpgrades,prgUpgradeInfoList) \
  590. (This)->lpVtbl -> ChangePackageUpgradeList(This,pszPackageName,cUpgrades,prgUpgradeInfoList)
  591. #define IClassAdmin_ChangePackageUpgradeInfoIncremental(This,PkgGuid,UpgradeInfo,OpFlags) \
  592. (This)->lpVtbl -> ChangePackageUpgradeInfoIncremental(This,PkgGuid,UpgradeInfo,OpFlags)
  593. #define IClassAdmin_SetPriorityByFileExt(This,pszPackageName,pszFileExt,Priority) \
  594. (This)->lpVtbl -> SetPriorityByFileExt(This,pszPackageName,pszFileExt,Priority)
  595. #define IClassAdmin_EnumPackages(This,pszFileExt,pCategory,dwAppFlags,pdwLocale,pPlatform,ppIEnumPackage) \
  596. (This)->lpVtbl -> EnumPackages(This,pszFileExt,pCategory,dwAppFlags,pdwLocale,pPlatform,ppIEnumPackage)
  597. #define IClassAdmin_GetPackageDetails(This,pszPackageName,pPackageDetail) \
  598. (This)->lpVtbl -> GetPackageDetails(This,pszPackageName,pPackageDetail)
  599. #define IClassAdmin_GetPackageDetailsFromGuid(This,PkgGuid,pPackageDetail) \
  600. (This)->lpVtbl -> GetPackageDetailsFromGuid(This,PkgGuid,pPackageDetail)
  601. #define IClassAdmin_GetAppCategories(This,Locale,pAppCategoryList) \
  602. (This)->lpVtbl -> GetAppCategories(This,Locale,pAppCategoryList)
  603. #define IClassAdmin_RegisterAppCategory(This,pAppCategory) \
  604. (This)->lpVtbl -> RegisterAppCategory(This,pAppCategory)
  605. #define IClassAdmin_UnregisterAppCategory(This,pAppCategoryId) \
  606. (This)->lpVtbl -> UnregisterAppCategory(This,pAppCategoryId)
  607. #define IClassAdmin_Cleanup(This,pTimeBefore) \
  608. (This)->lpVtbl -> Cleanup(This,pTimeBefore)
  609. #define IClassAdmin_GetDNFromPackageName(This,pszPackageName,szDN) \
  610. (This)->lpVtbl -> GetDNFromPackageName(This,pszPackageName,szDN)
  611. #define IClassAdmin_RedeployPackage(This,pPackageGuid,pPackageDetail) \
  612. (This)->lpVtbl -> RedeployPackage(This,pPackageGuid,pPackageDetail)
  613. #endif /* COBJMACROS */
  614. #endif /* C style interface */
  615. HRESULT STDMETHODCALLTYPE IClassAdmin_GetGPOInfo_Proxy(
  616. IClassAdmin * This,
  617. /* [out] */ GUID *pGPOId,
  618. /* [out] */ LPOLESTR *pszPolicyName);
  619. void __RPC_STUB IClassAdmin_GetGPOInfo_Stub(
  620. IRpcStubBuffer *This,
  621. IRpcChannelBuffer *_pRpcChannelBuffer,
  622. PRPC_MESSAGE _pRpcMessage,
  623. DWORD *_pdwStubPhase);
  624. HRESULT STDMETHODCALLTYPE IClassAdmin_AddPackage_Proxy(
  625. IClassAdmin * This,
  626. /* [in] */ PACKAGEDETAIL *pPackageDetail,
  627. /* [out] */ GUID *pPkgGuid);
  628. void __RPC_STUB IClassAdmin_AddPackage_Stub(
  629. IRpcStubBuffer *This,
  630. IRpcChannelBuffer *_pRpcChannelBuffer,
  631. PRPC_MESSAGE _pRpcMessage,
  632. DWORD *_pdwStubPhase);
  633. HRESULT STDMETHODCALLTYPE IClassAdmin_RemovePackage_Proxy(
  634. IClassAdmin * This,
  635. /* [in] */ LPOLESTR pszPackageName,
  636. /* [in] */ DWORD dwFlags);
  637. void __RPC_STUB IClassAdmin_RemovePackage_Stub(
  638. IRpcStubBuffer *This,
  639. IRpcChannelBuffer *_pRpcChannelBuffer,
  640. PRPC_MESSAGE _pRpcMessage,
  641. DWORD *_pdwStubPhase);
  642. HRESULT STDMETHODCALLTYPE IClassAdmin_ChangePackageProperties_Proxy(
  643. IClassAdmin * This,
  644. /* [in] */ LPOLESTR pszPackageName,
  645. /* [unique][in] */ LPOLESTR pszNewName,
  646. /* [unique][in] */ DWORD *pdwFlags,
  647. /* [unique][in] */ LPOLESTR pszUrl,
  648. /* [unique][in] */ LPOLESTR pszScriptPath,
  649. /* [unique][in] */ UINT *pInstallUiLevel,
  650. /* [unique][in] */ DWORD *pdwRevision);
  651. void __RPC_STUB IClassAdmin_ChangePackageProperties_Stub(
  652. IRpcStubBuffer *This,
  653. IRpcChannelBuffer *_pRpcChannelBuffer,
  654. PRPC_MESSAGE _pRpcMessage,
  655. DWORD *_pdwStubPhase);
  656. HRESULT STDMETHODCALLTYPE IClassAdmin_ChangePackageCategories_Proxy(
  657. IClassAdmin * This,
  658. /* [in] */ LPOLESTR pszPackageName,
  659. /* [in] */ UINT cCategories,
  660. /* [unique][size_is][in] */ GUID *rpCategory);
  661. void __RPC_STUB IClassAdmin_ChangePackageCategories_Stub(
  662. IRpcStubBuffer *This,
  663. IRpcChannelBuffer *_pRpcChannelBuffer,
  664. PRPC_MESSAGE _pRpcMessage,
  665. DWORD *_pdwStubPhase);
  666. HRESULT STDMETHODCALLTYPE IClassAdmin_ChangePackageSourceList_Proxy(
  667. IClassAdmin * This,
  668. /* [in] */ LPOLESTR pszPackageName,
  669. /* [in] */ UINT cSources,
  670. /* [unique][size_is][in] */ LPOLESTR *pszSourceList);
  671. void __RPC_STUB IClassAdmin_ChangePackageSourceList_Stub(
  672. IRpcStubBuffer *This,
  673. IRpcChannelBuffer *_pRpcChannelBuffer,
  674. PRPC_MESSAGE _pRpcMessage,
  675. DWORD *_pdwStubPhase);
  676. HRESULT STDMETHODCALLTYPE IClassAdmin_ChangePackageUpgradeList_Proxy(
  677. IClassAdmin * This,
  678. /* [in] */ LPOLESTR pszPackageName,
  679. /* [in] */ UINT cUpgrades,
  680. /* [unique][size_is][in] */ UPGRADEINFO *prgUpgradeInfoList);
  681. void __RPC_STUB IClassAdmin_ChangePackageUpgradeList_Stub(
  682. IRpcStubBuffer *This,
  683. IRpcChannelBuffer *_pRpcChannelBuffer,
  684. PRPC_MESSAGE _pRpcMessage,
  685. DWORD *_pdwStubPhase);
  686. HRESULT STDMETHODCALLTYPE IClassAdmin_ChangePackageUpgradeInfoIncremental_Proxy(
  687. IClassAdmin * This,
  688. /* [in] */ GUID PkgGuid,
  689. /* [in] */ UPGRADEINFO UpgradeInfo,
  690. /* [in] */ DWORD OpFlags);
  691. void __RPC_STUB IClassAdmin_ChangePackageUpgradeInfoIncremental_Stub(
  692. IRpcStubBuffer *This,
  693. IRpcChannelBuffer *_pRpcChannelBuffer,
  694. PRPC_MESSAGE _pRpcMessage,
  695. DWORD *_pdwStubPhase);
  696. HRESULT STDMETHODCALLTYPE IClassAdmin_SetPriorityByFileExt_Proxy(
  697. IClassAdmin * This,
  698. /* [in] */ LPOLESTR pszPackageName,
  699. /* [in] */ LPOLESTR pszFileExt,
  700. /* [in] */ UINT Priority);
  701. void __RPC_STUB IClassAdmin_SetPriorityByFileExt_Stub(
  702. IRpcStubBuffer *This,
  703. IRpcChannelBuffer *_pRpcChannelBuffer,
  704. PRPC_MESSAGE _pRpcMessage,
  705. DWORD *_pdwStubPhase);
  706. HRESULT STDMETHODCALLTYPE IClassAdmin_EnumPackages_Proxy(
  707. IClassAdmin * This,
  708. /* [unique][in] */ LPOLESTR pszFileExt,
  709. /* [unique][in] */ GUID *pCategory,
  710. /* [in] */ DWORD dwAppFlags,
  711. /* [unique][in] */ DWORD *pdwLocale,
  712. /* [unique][in] */ CSPLATFORM *pPlatform,
  713. /* [out] */ IEnumPackage **ppIEnumPackage);
  714. void __RPC_STUB IClassAdmin_EnumPackages_Stub(
  715. IRpcStubBuffer *This,
  716. IRpcChannelBuffer *_pRpcChannelBuffer,
  717. PRPC_MESSAGE _pRpcMessage,
  718. DWORD *_pdwStubPhase);
  719. HRESULT STDMETHODCALLTYPE IClassAdmin_GetPackageDetails_Proxy(
  720. IClassAdmin * This,
  721. /* [in] */ LPOLESTR pszPackageName,
  722. /* [out] */ PACKAGEDETAIL *pPackageDetail);
  723. void __RPC_STUB IClassAdmin_GetPackageDetails_Stub(
  724. IRpcStubBuffer *This,
  725. IRpcChannelBuffer *_pRpcChannelBuffer,
  726. PRPC_MESSAGE _pRpcMessage,
  727. DWORD *_pdwStubPhase);
  728. HRESULT STDMETHODCALLTYPE IClassAdmin_GetPackageDetailsFromGuid_Proxy(
  729. IClassAdmin * This,
  730. /* [in] */ GUID PkgGuid,
  731. /* [out] */ PACKAGEDETAIL *pPackageDetail);
  732. void __RPC_STUB IClassAdmin_GetPackageDetailsFromGuid_Stub(
  733. IRpcStubBuffer *This,
  734. IRpcChannelBuffer *_pRpcChannelBuffer,
  735. PRPC_MESSAGE _pRpcMessage,
  736. DWORD *_pdwStubPhase);
  737. HRESULT STDMETHODCALLTYPE IClassAdmin_GetAppCategories_Proxy(
  738. IClassAdmin * This,
  739. /* [in] */ LCID Locale,
  740. /* [out] */ APPCATEGORYINFOLIST *pAppCategoryList);
  741. void __RPC_STUB IClassAdmin_GetAppCategories_Stub(
  742. IRpcStubBuffer *This,
  743. IRpcChannelBuffer *_pRpcChannelBuffer,
  744. PRPC_MESSAGE _pRpcMessage,
  745. DWORD *_pdwStubPhase);
  746. HRESULT STDMETHODCALLTYPE IClassAdmin_RegisterAppCategory_Proxy(
  747. IClassAdmin * This,
  748. /* [in] */ APPCATEGORYINFO *pAppCategory);
  749. void __RPC_STUB IClassAdmin_RegisterAppCategory_Stub(
  750. IRpcStubBuffer *This,
  751. IRpcChannelBuffer *_pRpcChannelBuffer,
  752. PRPC_MESSAGE _pRpcMessage,
  753. DWORD *_pdwStubPhase);
  754. HRESULT STDMETHODCALLTYPE IClassAdmin_UnregisterAppCategory_Proxy(
  755. IClassAdmin * This,
  756. /* [in] */ GUID *pAppCategoryId);
  757. void __RPC_STUB IClassAdmin_UnregisterAppCategory_Stub(
  758. IRpcStubBuffer *This,
  759. IRpcChannelBuffer *_pRpcChannelBuffer,
  760. PRPC_MESSAGE _pRpcMessage,
  761. DWORD *_pdwStubPhase);
  762. HRESULT STDMETHODCALLTYPE IClassAdmin_Cleanup_Proxy(
  763. IClassAdmin * This,
  764. /* [in] */ FILETIME *pTimeBefore);
  765. void __RPC_STUB IClassAdmin_Cleanup_Stub(
  766. IRpcStubBuffer *This,
  767. IRpcChannelBuffer *_pRpcChannelBuffer,
  768. PRPC_MESSAGE _pRpcMessage,
  769. DWORD *_pdwStubPhase);
  770. HRESULT STDMETHODCALLTYPE IClassAdmin_GetDNFromPackageName_Proxy(
  771. IClassAdmin * This,
  772. /* [in] */ LPOLESTR pszPackageName,
  773. /* [out] */ LPOLESTR *szDN);
  774. void __RPC_STUB IClassAdmin_GetDNFromPackageName_Stub(
  775. IRpcStubBuffer *This,
  776. IRpcChannelBuffer *_pRpcChannelBuffer,
  777. PRPC_MESSAGE _pRpcMessage,
  778. DWORD *_pdwStubPhase);
  779. HRESULT STDMETHODCALLTYPE IClassAdmin_RedeployPackage_Proxy(
  780. IClassAdmin * This,
  781. /* [in] */ GUID *pPackageGuid,
  782. /* [in] */ PACKAGEDETAIL *pPackageDetail);
  783. void __RPC_STUB IClassAdmin_RedeployPackage_Stub(
  784. IRpcStubBuffer *This,
  785. IRpcChannelBuffer *_pRpcChannelBuffer,
  786. PRPC_MESSAGE _pRpcMessage,
  787. DWORD *_pdwStubPhase);
  788. #endif /* __IClassAdmin_INTERFACE_DEFINED__ */
  789. /* interface __MIDL_itf_cs_0013 */
  790. /* [local] */
  791. //------------------------- Priorities and weights
  792. //
  793. // File Extension priority
  794. //
  795. // 1 bit (0)
  796. //
  797. #define PRI_EXTN_FACTOR (1 << 0)
  798. //
  799. // CLSCTX priority
  800. //
  801. // 2 bits (7:8)
  802. //
  803. #define PRI_CLSID_INPSVR (3 << 7)
  804. #define PRI_CLSID_LCLSVR (2 << 7)
  805. #define PRI_CLSID_REMSVR (1 << 7)
  806. //
  807. // UI Language priority
  808. //
  809. // 3 bits (9:11)
  810. //
  811. #define PRI_LANG_ALWAYSMATCH (4 << 9)
  812. #define PRI_LANG_SYSTEMLOCALE (3 << 9)
  813. #define PRI_LANG_ENGLISH (2 << 9)
  814. #define PRI_LANG_NEUTRAL (1 << 9)
  815. //
  816. // Architecture priority
  817. //
  818. // 2 bits (12:13)
  819. //
  820. #define PRI_ARCH_PREF1 (2 << 12)
  821. #define PRI_ARCH_PREF2 (1 << 12)
  822. extern RPC_IF_HANDLE __MIDL_itf_cs_0013_ClientIfHandle;
  823. extern RPC_IF_HANDLE __MIDL_itf_cs_0013_ServerIfHandle;
  824. /* Additional Prototypes for ALL interfaces */
  825. /* end of Additional Prototypes */
  826. #ifdef __cplusplus
  827. }
  828. #endif
  829. #endif