Leaked source code of windows server 2003
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.

1168 lines
34 KiB

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