gpmgmt.idl 50 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126
  1. // gpmgmt.idl : IDL source for gpmgmt.dll
  2. //
  3. // This file will be processed by the MIDL tool to
  4. // produce the type library (gpmgmt.tlb) and marshalling code.
  5. typedef enum {rsopUnknown, rsopPlanning, rsopLogging} GPMRSOPMode;
  6. //
  7. // The following GPMPermissionType constants have this structure:
  8. //
  9. // 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
  10. // 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
  11. // +---------------+---------------+---------------+---------------+
  12. // | Object type flags | Category | Level |
  13. // +---------------+---------------+---------------+---------------+
  14. //
  15. typedef enum {
  16. //
  17. // GPO permissions
  18. //
  19. permGPOApply = 0x00010000,
  20. permGPORead = 0x00010100,
  21. permGPOEdit = 0x00010101,
  22. permGPOEditSecurityAndDelete= 0x00010102,
  23. permGPOCustom = 0x00010103,
  24. //
  25. // Per-filter WMI filter permissions
  26. //
  27. permWMIFilterEdit = 0x00020000,
  28. permWMIFilterFullControl = 0x00020001,
  29. permWMIFilterCustom = 0x00020002,
  30. //
  31. // SOM permissions
  32. //
  33. // Sites, domains, OUs
  34. permSOMLink = 0x001C0000,
  35. // Domains, OUs
  36. permSOMLogging = 0x00180100,
  37. permSOMPlanning = 0x00180200,
  38. // Domains
  39. permSOMWMICreate = 0x00100300,
  40. permSOMWMIFullControl = 0x00100301,
  41. permSOMGPOCreate = 0x00100400
  42. } GPMPermissionType;
  43. typedef enum {gpoPermissions, gpoEffectivePermissions, gpoDisplayName, gpoWMIFilter, gpoID,
  44. gpoComputerExtensions, gpoUserExtensions, somLinks, gpoDomain, backupMostRecent} GPMSearchProperty;
  45. typedef enum {opEquals, opContains, opNotContains, opNotEquals} GPMSearchOperation;
  46. typedef enum {repXML, repHTML} GPMReportType;
  47. typedef enum {
  48. typeUser = 0,
  49. typeComputer,
  50. typeLocalGroup,
  51. typeGlobalGroup,
  52. typeUniversalGroup,
  53. typeUNCPath,
  54. typeUnknown
  55. } GPMEntryType;
  56. typedef enum {
  57. opDestinationSameAsSource = 0,
  58. opDestinationNone,
  59. opDestinationByRelativeName,
  60. opDestinationSet
  61. } GPMDestinationOption;
  62. const long GPM_USE_PDC = 0;
  63. const long GPM_USE_ANYDC = 1;
  64. const long GPM_DONOTUSE_W2KDC = 2;
  65. const long GPM_DONOT_VALIDATEDC = 1;
  66. const long GPM_MIGRATIONTABLE_ONLY = 0x1;
  67. const long GPM_PROCESS_SECURITY = 0x2;
  68. const long RSOP_NO_COMPUTER = 0x10000;
  69. const long RSOP_NO_USER = 0x20000;
  70. const long RSOP_PLANNING_ASSUME_SLOW_LINK = 0x1;
  71. const long RSOP_PLANNING_ASSUME_LOOPBACK_MERGE = 0x2;
  72. const long RSOP_PLANNING_ASSUME_LOOPBACK_REPLACE = 0x4;
  73. const long RSOP_PLANNING_ASSUME_USER_WQLFILTER_TRUE = 0x8;
  74. const long RSOP_PLANNING_ASSUME_COMP_WQLFILTER_TRUE = 0x10;
  75. import "oaidl.idl";
  76. import "ocidl.idl";
  77. interface IGPM;
  78. interface IGPMDomain;
  79. interface IGPMSitesContainer;
  80. interface IGPMBackupDir;
  81. interface IGPMSearchCriteria;
  82. interface IGPMPermission;
  83. interface IGPMClientSideExtension;
  84. interface IGPMCSECollection;
  85. interface IGPMGPO;
  86. interface IGPMGPOCollection;
  87. interface IGPMWMIFilter;
  88. interface IGPMWMIFilterCollection;
  89. interface IGPMSecurityInfo;
  90. interface IGPMBackup;
  91. interface IGPMBackupCollection;
  92. interface IGPMSOM;
  93. interface IGPMSOMCollection;
  94. interface IGPMGPOLink;
  95. interface IGPMGPOLinksCollection;
  96. interface IGPMRSOP;
  97. interface IGPMStatusMessage;
  98. interface IGPMStatusMsgCollection;
  99. interface IGPMAsyncCancel;
  100. interface IGPMAsyncProgress;
  101. interface IGPMTrustee;
  102. interface IGPMConstants;
  103. interface IGPMResult;
  104. interface IGPMMigrationTable;
  105. interface IGPMMapEntryCollection;
  106. interface IGPMMapEntry;
  107. [
  108. object,
  109. uuid(F5FAE809-3BD6-4DA9-A65E-17665B41D763),
  110. dual,
  111. helpstring("IGPM Interface"),
  112. pointer_default(unique)
  113. ]
  114. interface IGPM : IDispatch
  115. {
  116. [id(1), helpstring("method GetDomain")] HRESULT GetDomain([in] BSTR bstrDomain, [in] BSTR bstrDomainController, [in] long lDCFlags, [out, retval] IGPMDomain **pIGPMDomain);
  117. [id(2), helpstring("method GetBackupDir")] HRESULT GetBackupDir([in] BSTR bstrBackupDir, [out, retval] IGPMBackupDir **pIGPMBackupDir);
  118. [id(3), helpstring("method GetSitesContainer")] HRESULT GetSitesContainer([in] BSTR bstrForest, [in] BSTR bstrDomain, [in] BSTR bstrDomainController, [in] long lDCFlags, [out, retval] IGPMSitesContainer **ppIGPMSitesContainer);
  119. [id(4), helpstring("method GetRSOP")] HRESULT GetRSOP([in] GPMRSOPMode gpmRSoPMode, [in] BSTR bstrNamespace, [in] long lFlags, [out, retval] IGPMRSOP **ppIGPMRSOP);
  120. [id(5), helpstring("method CreatePermission")] HRESULT CreatePermission([in] BSTR bstrTrustee, [in] GPMPermissionType perm, [in] VARIANT_BOOL bInheritable, [out, retval] IGPMPermission **ppPerm);
  121. [id(6), helpstring("method CreateSearchCriteria")] HRESULT CreateSearchCriteria([out, retval] IGPMSearchCriteria **ppIGPMSearchCriteria);
  122. [id(7), helpstring("method CreateTrustee")] HRESULT CreateTrustee([in] BSTR bstrTrustee, [out, retval] IGPMTrustee **ppIGPMTrustee);
  123. [id(8), helpstring("method GetClientSideExtensions")] HRESULT GetClientSideExtensions([out, retval] IGPMCSECollection **ppIGPMCSECollection);
  124. [id(9), helpstring("method GetConstants")] HRESULT GetConstants([out, retval] IGPMConstants **ppIGPMConstants);
  125. [id(10), helpstring("method GetMigrationTable")] HRESULT GetMigrationTable([in] BSTR bstrMigrationTablePath, [out, retval] IGPMMigrationTable **ppMigrationTable);
  126. [id(11), helpstring("method CreateMigrationTable")] HRESULT CreateMigrationTable([out, retval] IGPMMigrationTable **ppMigrationTable);
  127. [id(12), helpstring("method InitializeReporting")] HRESULT InitializeReporting([in] BSTR bstrAdmPath);
  128. };
  129. [
  130. object,
  131. uuid(6B21CC14-5A00-4F44-A738-FEEC8A94C7E3),
  132. dual,
  133. helpstring("IGPMDomain Interface"),
  134. pointer_default(unique)
  135. ]
  136. interface IGPMDomain : IDispatch
  137. {
  138. [propget, id(1), helpstring("property DomainController")] HRESULT DomainController([out, retval] BSTR *pVal);
  139. [propget, id(2), helpstring("property Domain")] HRESULT Domain([out, retval] BSTR *pVal);
  140. [id(4), helpstring("method CreateGPO")] HRESULT CreateGPO([out, retval] IGPMGPO **ppNewGPO);
  141. [id(5), helpstring("method GetGPO")] HRESULT GetGPO([in] BSTR bstrGuid, [out, retval] IGPMGPO **ppGPO);
  142. [id(6), helpstring("method SearchGPOs")] HRESULT SearchGPOs([in] IGPMSearchCriteria *pIGPMSearchCriteria, [out, retval] IGPMGPOCollection **ppIGPMGPOCollection );
  143. [id(7), helpstring("method RestoreGPO")] HRESULT RestoreGPO(
  144. [in] IGPMBackup *pIGPMBackup,
  145. [in] long lDCFlags,
  146. [in, optional] VARIANT *pvarGPMProgress,
  147. [out, optional] VARIANT *pvarGPMCancel,
  148. [out, retval] IGPMResult **ppIGPMResult);
  149. [id(8), helpstring("method GetSOM")] HRESULT GetSOM([in] BSTR bstrPath, [out, retval] IGPMSOM **ppSOM);
  150. [id(9), helpstring("method SearchSOMs")] HRESULT SearchSOMs([in] IGPMSearchCriteria *pIGPMSearchCriteria, [out, retval] IGPMSOMCollection **ppIGPMSOMCollection);
  151. [id(10), helpstring("method GetWMIFilter")] HRESULT GetWMIFilter([in] BSTR bstrPath, [out, retval] IGPMWMIFilter **ppWMIFilter);
  152. [id(11), helpstring("method SearchWMIFilters")] HRESULT SearchWMIFilters([in] IGPMSearchCriteria *pIGPMSearchCriteria, [out, retval] IGPMWMIFilterCollection **ppIGPMWMIFilterCollection);
  153. };
  154. [
  155. object,
  156. uuid(B1568BED-0A93-4ACC-810F-AFE7081019B9),
  157. dual,
  158. helpstring("IGPMBackupDir Interface"),
  159. pointer_default(unique)
  160. ]
  161. interface IGPMBackupDir : IDispatch
  162. {
  163. [propget, id(1), helpstring("property BackupDirectory")] HRESULT BackupDirectory([out, retval] BSTR *pVal);
  164. [id(2), helpstring("method GetBackup")] HRESULT GetBackup([in] BSTR bstrID, [out, retval] IGPMBackup **ppBackup);
  165. [id(3), helpstring("method SearchBackups")] HRESULT SearchBackups([in] IGPMSearchCriteria *pIGPMSearchCriteria, [out, retval] IGPMBackupCollection **ppIGPMBackupCollection);
  166. };
  167. [
  168. object,
  169. uuid(4725A899-2782-4D27-A6BB-D499246FFD72),
  170. dual,
  171. helpstring("IGPMSitesContainer Interface"),
  172. pointer_default(unique)
  173. ]
  174. interface IGPMSitesContainer : IDispatch
  175. {
  176. [propget, id(1), helpstring("property DomainController")] HRESULT DomainController([out, retval] BSTR *pVal);
  177. [propget, id(2), helpstring("property Domain")] HRESULT Domain([out, retval] BSTR *pVal);
  178. [propget, id(3), helpstring("property Forest")] HRESULT Forest([out, retval] BSTR *pVal);
  179. [id(4), helpstring("method GetSite")] HRESULT GetSite([in] BSTR bstrSiteName, [out, retval] IGPMSOM **ppSOM);
  180. [id(5), helpstring("method SearchSites")] HRESULT SearchSites([in] IGPMSearchCriteria *pIGPMSearchCriteria, [out, retval] IGPMSOMCollection **ppIGPMSOMCollection);
  181. };
  182. [
  183. object,
  184. uuid(D6F11C42-829B-48D4-83F5-3615B67DFC22),
  185. dual,
  186. helpstring("IGPMSearchCriteria Interface"),
  187. pointer_default(unique)
  188. ]
  189. interface IGPMSearchCriteria : IDispatch
  190. {
  191. [id(1), helpstring("method Add")] HRESULT Add([in] GPMSearchProperty searchProperty, [in] GPMSearchOperation searchOperation, [in] VARIANT varValue);
  192. };
  193. [
  194. object,
  195. uuid(3B466DA8-C1A4-4B2A-999A-BEFCDD56CEFB),
  196. dual,
  197. helpstring("IGPMTrustee Interface"),
  198. pointer_default(unique)
  199. ]
  200. interface IGPMTrustee : IDispatch
  201. {
  202. [propget, id(1), helpstring("property Sid")] HRESULT TrusteeSid([out, retval] BSTR *bstrVal);
  203. [propget, id(2), helpstring("property Name")] HRESULT TrusteeName([out, retval] BSTR *bstrVal);
  204. [propget, id(3), helpstring("property Domain")] HRESULT TrusteeDomain([out, retval] BSTR *bstrVal);
  205. [propget, id(4), helpstring("property TrusteeDSPath")] HRESULT TrusteeDSPath([out, retval] BSTR *pVal);
  206. [propget, id(5), helpstring("property TrusteeType")] HRESULT TrusteeType([out, retval] long *lVal);
  207. };
  208. [
  209. object,
  210. uuid(35EBCA40-E1A1-4A02-8905-D79416FB464A),
  211. dual,
  212. helpstring("IGPMPermission Interface"),
  213. pointer_default(unique)
  214. ]
  215. interface IGPMPermission : IDispatch
  216. {
  217. [propget, id(1), helpstring("property Inherited")] HRESULT Inherited([out, retval] VARIANT_BOOL *pVal);
  218. [propget, id(2), helpstring("property Inheritable")] HRESULT Inheritable([out, retval] VARIANT_BOOL *pVal);
  219. [propget, id(3), helpstring("property Denied")] HRESULT Denied([out, retval] VARIANT_BOOL *pVal);
  220. [propget, id(4), helpstring("property Permission")] HRESULT Permission([out, retval] GPMPermissionType *pVal);
  221. [propget, id(5), helpstring("property Trustee")] HRESULT Trustee([out, retval] IGPMTrustee **ppIGPMTrustee);
  222. };
  223. [
  224. object,
  225. uuid(B6C31ED4-1C93-4D3E-AE84-EB6D61161B60),
  226. dual,
  227. helpstring("IGPMSecurityInfo Interface"),
  228. pointer_default(unique)
  229. ]
  230. interface IGPMSecurityInfo : IDispatch
  231. {
  232. [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
  233. [propget, id(DISPID_VALUE), helpstring("property Item")] HRESULT Item(long lIndex, [out, retval] VARIANT *pVal);
  234. [propget, id(DISPID_NEWENUM), helpstring("property _NewEnum")] HRESULT _NewEnum([out, retval] IEnumVARIANT **ppEnum);
  235. [id(5), helpstring("method Add")] HRESULT Add([in] IGPMPermission *pPerm);
  236. [id(6), helpstring("method Remove")] HRESULT Remove([in] IGPMPermission *pPerm);
  237. [id(7), helpstring("method RemoveTrustee")] HRESULT RemoveTrustee([in] BSTR bstrTrustee);
  238. };
  239. [
  240. object,
  241. uuid(D8A16A35-3B0D-416B-8D02-4DF6F95A7119),
  242. dual,
  243. helpstring("IGPMBackup Interface"),
  244. pointer_default(unique)
  245. ]
  246. interface IGPMBackup : IDispatch
  247. {
  248. [propget, id(1), helpstring("property ID")] HRESULT ID([out, retval] BSTR *pVal);
  249. [propget, id(2), helpstring("property GPOID")] HRESULT GPOID([out, retval] BSTR *pVal);
  250. [propget, id(3), helpstring("property GPODomain")] HRESULT GPODomain([out, retval] BSTR *pVal);
  251. [propget, id(4), helpstring("property GPODisplayName")] HRESULT GPODisplayName([out, retval] BSTR *pVal);
  252. [propget, id(5), helpstring("property Timestamp")] HRESULT Timestamp([out, retval] DATE *pVal);
  253. [propget, id(6), helpstring("property Comment")] HRESULT Comment([out, retval] BSTR *pVal);
  254. [propget, id(7), helpstring("property BackupDir")] HRESULT BackupDir([out, retval] BSTR *pVal);
  255. [id(8), helpstring("method Delete")] HRESULT Delete();
  256. [id(9), helpstring("method GenerateReport")] HRESULT GenerateReport(
  257. [in] GPMReportType gpmReportType,
  258. [in, optional] VARIANT *pvarGPMProgress,
  259. [out,optional] VARIANT *pvarGPMCancel,
  260. [out,retval] IGPMResult **ppIGPMResult);
  261. [id(10), helpstring("method GenerateReportToFile")] HRESULT GenerateReportToFile(
  262. [in] GPMReportType gpmReportType,
  263. [in] BSTR bstrTargetFilePath,
  264. [out, retval] IGPMResult **ppIGPMResult);
  265. };
  266. [
  267. object,
  268. uuid(C786FC0F-26D8-4BAB-A745-39CA7E800CAC),
  269. dual,
  270. helpstring("IGPMBackupCollection Interface"),
  271. pointer_default(unique)
  272. ]
  273. interface IGPMBackupCollection : IDispatch
  274. {
  275. [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
  276. [propget, id(DISPID_VALUE), helpstring("property Item")] HRESULT Item(long lIndex, [out, retval] VARIANT *pVal);
  277. [propget, id(DISPID_NEWENUM), helpstring("property _NewEnum")] HRESULT _NewEnum([out, retval] IEnumVARIANT* *ppIGPMBackup);
  278. };
  279. [
  280. object,
  281. uuid(C0A7F09E-05A1-4F0C-8158-9E5C33684F6B),
  282. dual,
  283. helpstring("IGPMSOM Interface"),
  284. pointer_default(unique)
  285. ]
  286. interface IGPMSOM : IDispatch
  287. {
  288. typedef enum {somSite, somDomain, somOU} GPMSOMType;
  289. [propget, id(1), helpstring("property GPOInheritanceBlocked")] HRESULT GPOInheritanceBlocked([out, retval] VARIANT_BOOL *pVal);
  290. [propput, id(1), helpstring("property GPOInheritanceBlocked")] HRESULT GPOInheritanceBlocked([in] VARIANT_BOOL newVal);
  291. [propget, id(3), helpstring("property Name")] HRESULT Name([out, retval] BSTR *pVal);
  292. [propget, id(4), helpstring("property Path")] HRESULT Path([out, retval] BSTR *pVal);
  293. [id(5), helpstring("method CreateGPOLink")] HRESULT CreateGPOLink([in] long lLinkPos, [in] IGPMGPO *pGPO, [out, retval] IGPMGPOLink **ppNewGPOLink);
  294. [propget, id(6), helpstring("property Type")] HRESULT Type([out, retval] GPMSOMType *pVal);
  295. [id(7), helpstring("method GetGPOLinks")] HRESULT GetGPOLinks([out, retval] IGPMGPOLinksCollection **ppGPOLinks);
  296. [id(8), helpstring("method GetInheritedGPOLinks")] HRESULT GetInheritedGPOLinks([out, retval] IGPMGPOLinksCollection **ppGPOLinks);
  297. [id(9), helpstring("method GetSecurityInfo")] HRESULT GetSecurityInfo([out, retval] IGPMSecurityInfo **ppSecurityInfo);
  298. [id(10), helpstring("method SetSecurityInfo")] HRESULT SetSecurityInfo([in] IGPMSecurityInfo *pSecurityInfo);
  299. };
  300. [
  301. object,
  302. uuid(ADC1688E-00E4-4495-ABBA-BED200DF0CAB),
  303. dual,
  304. helpstring("IGPMSOMCollection Interface"),
  305. pointer_default(unique)
  306. ]
  307. interface IGPMSOMCollection : IDispatch
  308. {
  309. [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
  310. [propget, id(DISPID_VALUE), helpstring("property Item")] HRESULT Item(long lIndex, [out, retval] VARIANT *pVal);
  311. [propget, id(DISPID_NEWENUM), helpstring("property _NewEnum")] HRESULT _NewEnum([out, retval] IEnumVARIANT* *ppIGPMSOM);
  312. };
  313. [
  314. object,
  315. uuid(EF2FF9B4-3C27-459A-B979-038305CEC75D),
  316. dual,
  317. helpstring("IGPMWMIFilter Interface"),
  318. pointer_default(unique)
  319. ]
  320. interface IGPMWMIFilter : IDispatch
  321. {
  322. [propget, id(1), helpstring("property Path")] HRESULT Path([out, retval] BSTR *pVal);
  323. [propput, id(2), helpstring("property Name")] HRESULT Name([in] BSTR newVal);
  324. [propget, id(2), helpstring("property Name")] HRESULT Name([out,retval] BSTR * pVal);
  325. [propput, id(3), helpstring("property Description")] HRESULT Description([in] BSTR newVal);
  326. [propget, id(3), helpstring("property Description")] HRESULT Description([out,retval] BSTR * pVal);
  327. [id(4), helpstring("method GetQueryList")] HRESULT GetQueryList([out,retval] VARIANT *pQryList);
  328. [id(5), helpstring("method GetSecurityInfo")] HRESULT GetSecurityInfo([out, retval] IGPMSecurityInfo **ppSecurityInfo);
  329. [id(6), helpstring("method SetSecurityInfo")] HRESULT SetSecurityInfo([in] IGPMSecurityInfo *pSecurityInfo);
  330. };
  331. [
  332. object,
  333. uuid(5782D582-1A36-4661-8A94-C3C32551945B),
  334. dual,
  335. helpstring("IGPMWMIFilterCollection Interface"),
  336. pointer_default(unique)
  337. ]
  338. interface IGPMWMIFilterCollection : IDispatch
  339. {
  340. [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
  341. [propget, id(DISPID_VALUE), helpstring("property Item")] HRESULT Item(long lIndex, [out, retval] VARIANT *pVal);
  342. [propget, id(DISPID_NEWENUM), helpstring("property _NewEnum")] HRESULT _NewEnum([out, retval] IEnumVARIANT* *pVal);
  343. };
  344. [
  345. object,
  346. uuid(49ED785A-3237-4FF2-B1F0-FDF5A8D5A1EE),
  347. dual,
  348. helpstring("IGPMRSOP Interface"),
  349. pointer_default(unique)
  350. ]
  351. interface IGPMRSOP : IDispatch
  352. {
  353. // general properties
  354. [propget, id(1), helpstring("property Mode")] HRESULT Mode([out, retval] GPMRSOPMode *pVal);
  355. [propget, id(2), helpstring("property Namespace")] HRESULT Namespace([out, retval] BSTR *bstrVal);
  356. // logging mode properties
  357. [propput, id(3), helpstring("property LoggingComputer")] HRESULT LoggingComputer([in] BSTR bstrVal);
  358. [propget, id(3), helpstring("property LoggingComputer")] HRESULT LoggingComputer([out, retval] BSTR *bstrVal);
  359. [propput, id(4), helpstring("property LoggingUser")] HRESULT LoggingUser([in] BSTR bstrVal);
  360. [propget, id(4), helpstring("property LoggingUser")] HRESULT LoggingUser([out, retval] BSTR *bstrVal);
  361. [propput, id(5), helpstring("property LoggingFlags")] HRESULT LoggingFlags([in] long lVal);
  362. [propget, id(5), helpstring("property LoggingFlags")] HRESULT LoggingFlags([out, retval] long *lVal);
  363. // planning mode properties
  364. [propput, id(6), helpstring("property PlanningFlags")] HRESULT PlanningFlags([in] long lVal);
  365. [propget, id(6), helpstring("property PlanningFlags")] HRESULT PlanningFlags([out, retval] long *lVal);
  366. [propput, id(7), helpstring("property PlanningDomainController")] HRESULT PlanningDomainController([in] BSTR bstrVal);
  367. [propget, id(7), helpstring("property PlanningDomainController")] HRESULT PlanningDomainController([out, retval] BSTR *bstrVal);
  368. [propput, id(8), helpstring("property PlanningSiteName")] HRESULT PlanningSiteName([in] BSTR bstrVal);
  369. [propget, id(8), helpstring("property PlanningSiteName")] HRESULT PlanningSiteName([out, retval] BSTR *bstrVal);
  370. // planning mode user properties
  371. [propput, id(9), helpstring("property PlanningUser")] HRESULT PlanningUser([in] BSTR bstrVal);
  372. [propget, id(9), helpstring("property PlanningUser")] HRESULT PlanningUser([out, retval] BSTR *bstrVal);
  373. [propput, id(10), helpstring("property PlanningUserSOM")] HRESULT PlanningUserSOM([in] BSTR bstrVal);
  374. [propget, id(10), helpstring("property PlanningUserSOM")] HRESULT PlanningUserSOM([out, retval] BSTR *bstrVal);
  375. // array of IGPMWMIFilter pointers in a variant
  376. [propput, id(11), helpstring("property PlanningUserWMIFilters")] HRESULT PlanningUserWMIFilters([in] VARIANT varVal);
  377. [propget, id(11), helpstring("property PlanningUserWMIFilters")] HRESULT PlanningUserWMIFilters([out, retval] VARIANT *varVal);
  378. // array of IGPMTrustee pointers in a variant
  379. [propput, id(12), helpstring("property PlanningUserSecurityGroups")] HRESULT PlanningUserSecurityGroups([in] VARIANT varVal);
  380. [propget, id(12), helpstring("property PlanningUserSecurityGroups")] HRESULT PlanningUserSecurityGroups([out, retval] VARIANT *varVal);
  381. // planning mode computer properties
  382. [propput, id(13), helpstring("property PlanningComputer")] HRESULT PlanningComputer([in] BSTR bstrVal);
  383. [propget, id(13), helpstring("property PlanningComputer")] HRESULT PlanningComputer([out, retval] BSTR *bstrVal);
  384. [propput, id(14), helpstring("property PlanningComputerSOM")] HRESULT PlanningComputerSOM([in] BSTR bstrVal);
  385. [propget, id(14), helpstring("property PlanningComputerSOM")] HRESULT PlanningComputerSOM([out, retval] BSTR *bstrVal);
  386. // array of IGPMWMIFilter pointers in a variant
  387. [propput, id(15), helpstring("property PlanningComputerWMIFilters")] HRESULT PlanningComputerWMIFilters([in] VARIANT varVal);
  388. [propget, id(15), helpstring("property PlanningComputerWMIFilters")] HRESULT PlanningComputerWMIFilters([out, retval] VARIANT *varVal);
  389. // array of IGPMTrustee pointers in a variant
  390. [propput, id(16), helpstring("property PlanningComputerSecurityGroups")] HRESULT PlanningComputerSecurityGroups([in] VARIANT varVal);
  391. [propget, id(16), helpstring("property PlanningComputerSecurityGroups")] HRESULT PlanningComputerSecurityGroups([out, retval] VARIANT *varVal);
  392. // array of IGPMTrustees
  393. [id(17), helpstring("method LoggingEnumerateUsers")] HRESULT LoggingEnumerateUsers( [out, retval] VARIANT *varVal );
  394. [id(18), helpstring("method CreateQueryResults")] HRESULT CreateQueryResults();
  395. [id(19), helpstring("method ReleaseQueryResults")] HRESULT ReleaseQueryResults();
  396. [id(20), helpstring("method GenerateReport")] HRESULT GenerateReport(
  397. [in] GPMReportType gpmReportType,
  398. [in, optional] VARIANT *pvarGPMProgress,
  399. [out,optional] VARIANT *pvarGPMCancel,
  400. [out,retval] IGPMResult **ppIGPMResult);
  401. [id(21), helpstring("method GenerateReportToFile")] HRESULT GenerateReportToFile(
  402. [in] GPMReportType gpmReportType,
  403. [in] BSTR bstrTargetFilePath,
  404. [out, retval] IGPMResult **ppIGPMResult);
  405. };
  406. [
  407. object,
  408. uuid(58CC4352-1CA3-48E5-9864-1DA4D6E0D60F),
  409. dual,
  410. helpstring("IGPMGPO Interface"),
  411. pointer_default(unique)
  412. ]
  413. interface IGPMGPO : IDispatch
  414. {
  415. [propget, id(1), helpstring("property DisplayName")] HRESULT DisplayName([out, retval] BSTR *pVal);
  416. [propput, id(1), helpstring("property DisplayName")] HRESULT DisplayName([in] BSTR newVal);
  417. [propget, id(3), helpstring("property Path")] HRESULT Path([out, retval] BSTR *pVal);
  418. [propget, id(4), helpstring("property ID")] HRESULT ID([out, retval] BSTR *pVal);
  419. [propget, id(5), helpstring("property DomainName")] HRESULT DomainName([out, retval] BSTR *pVal);
  420. [propget, id(6), helpstring("property CreationTime")] HRESULT CreationTime([out, retval] DATE *pDate);
  421. [propget, id(7), helpstring("property ModificationTime")] HRESULT ModificationTime([out, retval] DATE *pDate);
  422. [propget, id(8), helpstring("property UserDSVersionNumber")] HRESULT UserDSVersionNumber([out, retval] long *pVal);
  423. [propget, id(9), helpstring("property ComputerDSVersionNumber")] HRESULT ComputerDSVersionNumber([out, retval] long *pVal);
  424. [propget, id(10), helpstring("property UserSysvolVersionNumber")] HRESULT UserSysvolVersionNumber([out, retval] long *pVal);
  425. [propget, id(11), helpstring("property ComputerSysvolVersionNumber")] HRESULT ComputerSysvolVersionNumber([out, retval] long *pVal);
  426. [id(12), helpstring("method GetWMIFilter")] HRESULT GetWMIFilter([out, retval] IGPMWMIFilter **ppIGPMWMIFilter);
  427. [id(13), helpstring("method SetWMIFilter")] HRESULT SetWMIFilter([in] IGPMWMIFilter *pIGPMWMIFilter);
  428. [id(14), helpstring("method SetUserEnabled")] HRESULT SetUserEnabled([in] VARIANT_BOOL vbEnabled);
  429. [id(15), helpstring("method SetComputerEnabled")] HRESULT SetComputerEnabled([in] VARIANT_BOOL vbEnabled);
  430. [id(16), helpstring("method IsUserEnabled")] HRESULT IsUserEnabled([out, retval] VARIANT_BOOL *pvbEnabled);
  431. [id(17), helpstring("method IsComputerEnabled")] HRESULT IsComputerEnabled([out, retval] VARIANT_BOOL *pvbEnabled);
  432. [id(18), helpstring("method GetSecurityInfo")] HRESULT GetSecurityInfo([out, retval] IGPMSecurityInfo **ppSecurityInfo);
  433. [id(19), helpstring("method SetSecurityInfo")] HRESULT SetSecurityInfo([in] IGPMSecurityInfo *pSecurityInfo);
  434. [id(20), helpstring("method Delete")] HRESULT Delete();
  435. [id(21), helpstring("method Backup")] HRESULT Backup(
  436. [in] BSTR bstrBackupDir,
  437. [in] BSTR bstrComment,
  438. [in, optional] VARIANT *pvarGPMProgress,
  439. [out,optional] VARIANT *pvarGPMCancel,
  440. [out,retval] IGPMResult **ppIGPMResult);
  441. [id(22), helpstring("method Import")] HRESULT Import(
  442. [in] long lFlags,
  443. [in] IGPMBackup *pIGPMBackup,
  444. [in, optional] VARIANT *pvarMigrationTable,
  445. [in, optional] VARIANT *pvarGPMProgress,
  446. [out,optional] VARIANT *pvarGPMCancel,
  447. [out,retval] IGPMResult **ppIGPMResult);
  448. [id(23), helpstring("method GenerateReport")] HRESULT GenerateReport(
  449. [in] GPMReportType gpmReportType,
  450. [in, optional] VARIANT *pvarGPMProgress,
  451. [out,optional] VARIANT *pvarGPMCancel,
  452. [out,retval] IGPMResult **ppIGPMResult);
  453. [id(24), helpstring("method GenerateReportToFile")] HRESULT GenerateReportToFile(
  454. [in] GPMReportType gpmReportType,
  455. [in] BSTR bstrTargetFilePath,
  456. [out, retval] IGPMResult **ppIGPMResult);
  457. [id(25), helpstring("method CopyTo")] HRESULT CopyTo(
  458. [in] long lFlags,
  459. [in] IGPMDomain *pIGPMDomain,
  460. [in, optional] VARIANT *pvarNewDisplayName,
  461. [in, optional] VARIANT *pvarMigrationTable,
  462. [in, optional] VARIANT *pvarGPMProgress,
  463. [out,optional] VARIANT *pvarGPMCancel,
  464. [out,retval] IGPMResult **ppIGPMResult);
  465. [id(26), helpstring("method SetSecurityDescriptor")] HRESULT SetSecurityDescriptor([in] long lFlags, [in] IDispatch *pSD);
  466. [id(27), helpstring("method GetSecurityDescriptor")] HRESULT GetSecurityDescriptor([in] long lFlags, [out, retval] IDispatch **ppSD);
  467. [id(28), helpstring("method IsACLConsistent")] HRESULT IsACLConsistent([out, retval] VARIANT_BOOL *pvbConsistent);
  468. [id(29), helpstring("method MakeACLConsistent")] HRESULT MakeACLConsistent();
  469. };
  470. [
  471. object,
  472. uuid(F0F0D5CF-70CA-4C39-9E29-B642F8726C01),
  473. dual,
  474. helpstring("IGPMGPOCollection Interface"),
  475. pointer_default(unique)
  476. ]
  477. interface IGPMGPOCollection : IDispatch
  478. {
  479. [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
  480. [propget, id(DISPID_VALUE), helpstring("property Item")] HRESULT Item([in] long lIndex, [out, retval] VARIANT *pVal);
  481. [propget, id(DISPID_NEWENUM), helpstring("property _NewEnum")] HRESULT _NewEnum([out, retval] IEnumVARIANT **ppIGPMGPOs);
  482. };
  483. [
  484. object,
  485. uuid(434B99BD-5DE7-478A-809C-C251721DF70C),
  486. dual,
  487. helpstring("IGPMGPOLink Interface"),
  488. pointer_default(unique)
  489. ]
  490. interface IGPMGPOLink : IDispatch
  491. {
  492. [propget, id(1), helpstring("property GPOID")] HRESULT GPOID([out, retval] BSTR *pVal);
  493. [propget, id(2), helpstring("property GPODomain")] HRESULT GPODomain([out, retval] BSTR *pVal);
  494. [propget, id(3), helpstring("property Enabled")] HRESULT Enabled([out, retval] VARIANT_BOOL *pVal);
  495. [propput, id(3), helpstring("property Enabled")] HRESULT Enabled([in] VARIANT_BOOL newVal);
  496. [propget, id(4), helpstring("property Enforced")] HRESULT Enforced([out, retval] VARIANT_BOOL *pVal);
  497. [propput, id(4), helpstring("property Enforced")] HRESULT Enforced([in] VARIANT_BOOL newVal);
  498. [propget, id(5), helpstring("property SOMLinkOrder")] HRESULT SOMLinkOrder([out, retval] long *lVal);
  499. [propget, id(6), helpstring("property SOM")] HRESULT SOM([out, retval] IGPMSOM **ppIGPMSOM);
  500. [id(7), helpstring("method Delete")] HRESULT Delete();
  501. };
  502. [
  503. object,
  504. uuid(189D7B68-16BD-4D0D-A2EC-2E6AA2288C7F),
  505. dual,
  506. helpstring("IGPMGPOLinksCollection Interface"),
  507. pointer_default(unique)
  508. ]
  509. interface IGPMGPOLinksCollection : IDispatch
  510. {
  511. [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
  512. [propget, id(DISPID_VALUE), helpstring("property Item")] HRESULT Item([in] long lIndex, [out, retval] VARIANT *pVal);
  513. [propget, id(DISPID_NEWENUM), helpstring("property _NewEnum")] HRESULT _NewEnum([out, retval] IEnumVARIANT **ppIGPMLinks);
  514. };
  515. [
  516. object,
  517. uuid(2E52A97D-0A4A-4A6F-85DB-201622455DA0),
  518. dual,
  519. helpstring("IGPMCSECollection Interface"),
  520. pointer_default(unique)
  521. ]
  522. interface IGPMCSECollection : IDispatch
  523. {
  524. [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
  525. [propget, id(DISPID_VALUE), helpstring("property Item")] HRESULT Item([in] long lIndex, [out, retval] VARIANT *pVal);
  526. [propget, id(DISPID_NEWENUM), helpstring("property _NewEnum")] HRESULT _NewEnum([out, retval] IEnumVARIANT **ppIGPMCSEs);
  527. };
  528. [
  529. object,
  530. uuid(69DA7488-B8DB-415E-9266-901BE4D49928),
  531. dual,
  532. helpstring("IGPMClientSideExtension Interface"),
  533. pointer_default(unique)
  534. ]
  535. interface IGPMClientSideExtension : IDispatch
  536. {
  537. [propget, id(1), helpstring("property ID")] HRESULT ID([out, retval] BSTR *pVal);
  538. [propget, id(2), helpstring("property DisplayName")] HRESULT DisplayName([out, retval] BSTR *pVal);
  539. [id(3), helpstring("method IsUserEnabled")] HRESULT IsUserEnabled([out, retval] VARIANT_BOOL *pvbEnabled);
  540. [id(4), helpstring("method IsComputerEnabled")] HRESULT IsComputerEnabled([out, retval] VARIANT_BOOL *pvbEnabled);
  541. };
  542. [
  543. object,
  544. uuid(DDC67754-BE67-4541-8166-F48166868C9C),
  545. dual,
  546. helpstring("IGPMAsyncCancel Interface"),
  547. pointer_default(unique)
  548. ]
  549. interface IGPMAsyncCancel : IDispatch
  550. {
  551. [id(1), helpstring("method Cancel")] HRESULT Cancel();
  552. };
  553. [
  554. object,
  555. uuid(6AAC29F8-5948-4324-BF70-423818942DBC),
  556. dual,
  557. helpstring("IGPMAsyncProgress Interface"),
  558. pointer_default(unique)
  559. ]
  560. interface IGPMAsyncProgress : IDispatch
  561. {
  562. [id(1), helpstring("method Status")] HRESULT Status([in] long lProgressNumerator, [in] long lProgressDenominator, [in] HRESULT hrStatus, [in] VARIANT *pResult, [in] IGPMStatusMsgCollection *ppIGPMStatusMsgCollection);
  563. };
  564. [
  565. object,
  566. uuid(9B6E1AF0-1A92-40F3-A59D-F36AC1F728B7),
  567. dual,
  568. helpstring("IGPMStatusMsgCollection Interface"),
  569. pointer_default(unique)
  570. ]
  571. interface IGPMStatusMsgCollection : IDispatch
  572. {
  573. [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
  574. [propget, id(DISPID_VALUE), helpstring("property Item")] HRESULT Item([in] long lIndex, [out, retval] VARIANT *pVal);
  575. [propget, id(DISPID_NEWENUM), helpstring("property _NewEnum")] HRESULT _NewEnum([out, retval] IEnumVARIANT * *pVal);
  576. };
  577. [
  578. object,
  579. uuid(8496C22F-F3DE-4A1F-8F58-603CAAA93D7B),
  580. dual,
  581. helpstring("IGPMStatusMessage Interface"),
  582. pointer_default(unique)
  583. ]
  584. interface IGPMStatusMessage : IDispatch
  585. {
  586. [propget, id(1), helpstring("property ObjectPath")] HRESULT ObjectPath([out, retval] BSTR *pVal);
  587. [id(2), helpstring("method ErrorCode")] HRESULT ErrorCode();
  588. [propget, id(3), helpstring("property ExtensionName")] HRESULT ExtensionName([out, retval] BSTR *pVal);
  589. [propget, id(4), helpstring("property SettingsName")] HRESULT SettingsName([out, retval] BSTR *pVal);
  590. [id(5), helpstring("method OperationCode")] HRESULT OperationCode();
  591. [propget, id(6), helpstring("property Message")] HRESULT Message([out, retval] BSTR *pVal);
  592. };
  593. [
  594. object,
  595. uuid(50EF73E6-D35C-4C8D-BE63-7EA5D2AAC5C4),
  596. dual,
  597. helpstring("IGPMConstants Interface"),
  598. pointer_default(unique)
  599. ]
  600. interface IGPMConstants : IDispatch
  601. {
  602. [propget, id(1), helpstring("property PermGPOApply")] HRESULT PermGPOApply([out, retval] GPMPermissionType *pVal);
  603. [propget, id(2), helpstring("property PermGPORead")] HRESULT PermGPORead([out, retval] GPMPermissionType *pVal);
  604. [propget, id(3), helpstring("property PermGPOEdit")] HRESULT PermGPOEdit([out, retval] GPMPermissionType *pVal);
  605. [propget, id(4), helpstring("property PermGPOEditSecurityAndDelete")] HRESULT PermGPOEditSecurityAndDelete([out, retval] GPMPermissionType *pVal);
  606. [propget, id(5), helpstring("property PermGPOCustom")] HRESULT PermGPOCustom([out, retval] GPMPermissionType *pVal);
  607. [propget, id(6), helpstring("property PermWMIFilterEdit")] HRESULT PermWMIFilterEdit([out, retval] GPMPermissionType *pVal);
  608. [propget, id(7), helpstring("property PermWMIFilterFullControl")] HRESULT PermWMIFilterFullControl([out, retval] GPMPermissionType *pVal);
  609. [propget, id(8), helpstring("property PermWMIFilterCustom")] HRESULT PermWMIFilterCustom([out, retval] GPMPermissionType *pVal);
  610. [propget, id(9), helpstring("property PermSOMLink")] HRESULT PermSOMLink([out, retval] GPMPermissionType *pVal);
  611. [propget, id(10), helpstring("property PermSOMLogging")] HRESULT PermSOMLogging([out, retval] GPMPermissionType *pVal);
  612. [propget, id(11), helpstring("property PermSOMPlanning")] HRESULT PermSOMPlanning([out, retval] GPMPermissionType *pVal);
  613. [propget, id(12), helpstring("property PermSOMGPOCreate")] HRESULT PermSOMGPOCreate([out, retval] GPMPermissionType *pVal);
  614. [propget, id(13), helpstring("property PermSOMWMICreate")] HRESULT PermSOMWMICreate([out, retval] GPMPermissionType *pVal);
  615. [propget, id(14), helpstring("property PermSOMWMIFullControl")] HRESULT PermSOMWMIFullControl([out, retval] GPMPermissionType *pVal);
  616. [propget, id(15), helpstring("property SearchPropertyGPOPermissions")] HRESULT SearchPropertyGPOPermissions([out, retval] GPMSearchProperty *pVal);
  617. [propget, id(16), helpstring("property SearchPropertyGPOEffectivePermissions")] HRESULT SearchPropertyGPOEffectivePermissions([out, retval] GPMSearchProperty *pVal);
  618. [propget, id(17), helpstring("property SearchPropertyGPODisplayName")] HRESULT SearchPropertyGPODisplayName([out, retval] GPMSearchProperty *pVal);
  619. [propget, id(18), helpstring("property SearchPropertyGPOWMIFilter")] HRESULT SearchPropertyGPOWMIFilter([out, retval] GPMSearchProperty *pVal);
  620. [propget, id(19), helpstring("property SearchPropertyGPOID")] HRESULT SearchPropertyGPOID([out, retval] GPMSearchProperty *pVal);
  621. [propget, id(20), helpstring("property SearchPropertyGPOComputerExtensions")] HRESULT SearchPropertyGPOComputerExtensions([out, retval] GPMSearchProperty *pVal);
  622. [propget, id(21), helpstring("property SearchPropertyGPOUserExtensions")] HRESULT SearchPropertyGPOUserExtensions([out, retval] GPMSearchProperty *pVal);
  623. [propget, id(22), helpstring("property SearchPropertySOMLinks")] HRESULT SearchPropertySOMLinks([out, retval] GPMSearchProperty *pVal);
  624. [propget, id(23), helpstring("property SearchPropertyGPODomain")] HRESULT SearchPropertyGPODomain([out, retval] GPMSearchProperty *pVal);
  625. [propget, id(24), helpstring("property SearchPropertyBackupMostRecent")] HRESULT SearchPropertyBackupMostRecent([out, retval] GPMSearchProperty *pVal);
  626. [propget, id(25), helpstring("property SearchOpEquals")] HRESULT SearchOpEquals([out, retval] GPMSearchOperation *pVal);
  627. [propget, id(26), helpstring("property SearchOpContains")] HRESULT SearchOpContains([out, retval] GPMSearchOperation *pVal);
  628. [propget, id(27), helpstring("property SearchOpNotContains")] HRESULT SearchOpNotContains([out, retval] GPMSearchOperation *pVal);
  629. [propget, id(28), helpstring("property SearchOpNotEquals")] HRESULT SearchOpNotEquals([out, retval] GPMSearchOperation *pVal);
  630. [propget, id(29), helpstring("property UsePDC")] HRESULT UsePDC([out, retval] long *pVal);
  631. [propget, id(30), helpstring("property UseAnyDC")] HRESULT UseAnyDC([out, retval] long *pVal);
  632. [propget, id(31), helpstring("property DoNotUseW2KDC")] HRESULT DoNotUseW2KDC([out, retval] long *pVal);
  633. [propget, id(32), helpstring("property SOMSite")] HRESULT SOMSite([out, retval] GPMSOMType *pVal);
  634. [propget, id(33), helpstring("property SOMDomain")] HRESULT SOMDomain([out, retval] GPMSOMType *pVal);
  635. [propget, id(34), helpstring("property SOMOU")] HRESULT SOMOU([out, retval] GPMSOMType *pVal);
  636. [propget, id(35), helpstring("property SecurityFlags")] HRESULT SecurityFlags([in] VARIANT_BOOL vbOwner, [in] VARIANT_BOOL vbGroup, [in] VARIANT_BOOL vbDACL, [in] VARIANT_BOOL vbSACL, [out, retval] long *pVal);
  637. [propget, id(36), helpstring("property DoNotValidateDC")] HRESULT DoNotValidateDC([out, retval] long *pVal);
  638. [propget, id(37), helpstring("property ReportHTML")] HRESULT ReportHTML([out, retval] GPMReportType *pVal);
  639. [propget, id(38), helpstring("property ReportXML")] HRESULT ReportXML([out, retval] GPMReportType *pVal);
  640. [propget, id(39), helpstring("property RSOPModeUnknown")] HRESULT RSOPModeUnknown([out, retval] GPMRSOPMode *pVal);
  641. [propget, id(40), helpstring("property RSOPModePlanning")] HRESULT RSOPModePlanning([out, retval] GPMRSOPMode *pVal);
  642. [propget, id(41), helpstring("property RSOPModeLogging")] HRESULT RSOPModeLogging([out, retval] GPMRSOPMode *pVal);
  643. [propget, id(42), helpstring("property EntryTypeUser")] HRESULT EntryTypeUser([out, retval] GPMEntryType *pVal);
  644. [propget, id(43), helpstring("property EntryTypeComputer")] HRESULT EntryTypeComputer([out, retval] GPMEntryType *pVal);
  645. [propget, id(44), helpstring("property EntryTypeLocalGroup")] HRESULT EntryTypeLocalGroup([out, retval] GPMEntryType *pVal);
  646. [propget, id(45), helpstring("property EntryTypeGlobalGroup")] HRESULT EntryTypeGlobalGroup([out, retval] GPMEntryType *pVal);
  647. [propget, id(46), helpstring("property EntryTypeUniversalGroup")] HRESULT EntryTypeUniversalGroup([out, retval] GPMEntryType *pVal);
  648. [propget, id(47), helpstring("property EntryTypeUNCPath")] HRESULT EntryTypeUNCPath([out, retval] GPMEntryType *pVal);
  649. [propget, id(48), helpstring("property EntryTypeUnknown")] HRESULT EntryTypeUnknown([out, retval] GPMEntryType *pVal);
  650. [propget, id(49), helpstring("property DestinationOptionSameAsSource")] HRESULT DestinationOptionSameAsSource([out, retval] GPMDestinationOption *pVal);
  651. [propget, id(50), helpstring("property DestinationOptionNone")] HRESULT DestinationOptionNone([out, retval] GPMDestinationOption *pVal);
  652. [propget, id(51), helpstring("property DestinationOptionByRelativeName")] HRESULT DestinationOptionByRelativeName([out, retval] GPMDestinationOption *pVal);
  653. [propget, id(52), helpstring("property DestinationOptionSet")] HRESULT DestinationOptionSet([out, retval] GPMDestinationOption *pVal);
  654. [propget, id(53), helpstring("property MigrationTableOnly")] HRESULT MigrationTableOnly([out, retval] long *pVal);
  655. [propget, id(54), helpstring("property ProcessSecurity")] HRESULT ProcessSecurity([out, retval] long *pVal);
  656. [propget, id(55), helpstring("property RsopLoggingNoComputer")] HRESULT RsopLoggingNoComputer([out, retval] long *pVal);
  657. [propget, id(56), helpstring("property RsopLoggingNoUser")] HRESULT RsopLoggingNoUser([out, retval] long *pVal);
  658. [propget, id(57), helpstring("property RsopPlanningAssumeSlowLink")] HRESULT RsopPlanningAssumeSlowLink([out, retval] long *pVal);
  659. [propget, id(58), helpstring("property RsopPlanningLoopbackOption")] HRESULT RsopPlanningLoopbackOption([in] VARIANT_BOOL vbMerge, [out, retval] long *pVal);
  660. [propget, id(59), helpstring("property RsopPlanningAssumeUserWQLFilterTrue")] HRESULT RsopPlanningAssumeUserWQLFilterTrue([out, retval] long *pVal);
  661. [propget, id(60), helpstring("property RsopPlanningAssumeCompWQLFilterTrue")] HRESULT RsopPlanningAssumeCompWQLFilterTrue([out, retval] long *pVal);
  662. };
  663. [
  664. object,
  665. uuid(86DFF7E9-F76F-42AB-9570-CEBC6BE8A52D),
  666. dual,
  667. helpstring("IGPMResult Interface"),
  668. pointer_default(unique)
  669. ]
  670. interface IGPMResult : IDispatch
  671. {
  672. [propget, id(1), helpstring("property Status")] HRESULT Status([out, retval] IGPMStatusMsgCollection **ppIGPMStatusMsgCollection);
  673. [propget, id(2), helpstring("property Result")] HRESULT Result([out, retval] VARIANT *pvarResult);
  674. [id(3), helpstring("method OverallStatus")] HRESULT OverallStatus();
  675. };
  676. [
  677. object,
  678. uuid(BB0BF49B-E53F-443F-B807-8BE22BFB6D42),
  679. dual,
  680. helpstring("IGPMMapEntryCollection Interface"),
  681. pointer_default(unique)
  682. ]
  683. interface IGPMMapEntryCollection : IDispatch
  684. {
  685. [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
  686. [propget, id(DISPID_VALUE), helpstring("property Item")] HRESULT Item([in] long lIndex, [out, retval] VARIANT *pVal);
  687. [propget, id(DISPID_NEWENUM), helpstring("property _NewEnum")] HRESULT _NewEnum([out, retval] IEnumVARIANT * *pVal);
  688. };
  689. [
  690. object,
  691. uuid(8E79AD06-2381-4444-BE4C-FF693E6E6F2B),
  692. dual,
  693. helpstring("IGPMMapEntry Interface"),
  694. pointer_default(unique)
  695. ]
  696. interface IGPMMapEntry : IDispatch
  697. {
  698. [propget, id(1), helpstring("property Source")] HRESULT Source([out, retval] BSTR *pbstrSource);
  699. [propget, id(2), helpstring("property Destination")] HRESULT Destination([out, retval] BSTR *pbstrDestination);
  700. [propget, id(3), helpstring("property DestinationOption")] HRESULT DestinationOption([out, retval] GPMDestinationOption *pgpmDestOption);
  701. [propget, id(4), helpstring("property EntryType")] HRESULT EntryType([out, retval] GPMEntryType *pgpmEntryType);
  702. };
  703. [
  704. object,
  705. uuid(48F823B1-EFAF-470B-B6ED-40D14EE1A4EC),
  706. dual,
  707. helpstring("IGPMMigrationTable Interface"),
  708. pointer_default(unique)
  709. ]
  710. interface IGPMMigrationTable : IDispatch
  711. {
  712. [id(1), helpstring("method Save")] HRESULT Save([in] BSTR bstrMigrationTablePath);
  713. [id(2), helpstring("method Add")] HRESULT Add([in] long lFlags, [in] VARIANT var);
  714. [id(3), helpstring("method AddEntry")] HRESULT AddEntry([in] BSTR bstrSource,
  715. [in] GPMEntryType gpmEntryType,
  716. [in, optional] VARIANT *pvarDestination,
  717. [out, retval] IGPMMapEntry **ppEntry);
  718. [id(4), helpstring("method GetEntry")] HRESULT GetEntry([in] BSTR bstrSource,
  719. [out, retval] IGPMMapEntry **ppEntry);
  720. [id(5), helpstring("method DeleteEntry")] HRESULT DeleteEntry([in] BSTR bstrSource);
  721. [id(6), helpstring("method UpdateDestination")] HRESULT UpdateDestination([in] BSTR bstrSource,
  722. [in, optional] VARIANT *pvarDestination,
  723. [out, retval] IGPMMapEntry **ppEntry);
  724. [id(7), helpstring("method Validate")] HRESULT Validate([out, retval] IGPMResult **ppResult);
  725. [id(8), helpstring("method GetEntries")] HRESULT GetEntries([out, retval] IGPMMapEntryCollection **ppEntries);
  726. };
  727. [
  728. uuid(C2F48CC2-305B-4672-BAA7-76A57738F48A),
  729. version(1.0),
  730. helpstring("gpmgmt 1.0 Type Library")
  731. ]
  732. library GPMGMTLib
  733. {
  734. importlib("stdole32.tlb");
  735. importlib("stdole2.tlb");
  736. [
  737. uuid(F5694708-88FE-4B35-BABF-E56162D5FBC8),
  738. helpstring("GPM Class")
  739. ]
  740. coclass GPM
  741. {
  742. [default] interface IGPM;
  743. };
  744. [
  745. uuid(710901BE-1050-4CB1-838A-C5CFF259E183),
  746. helpstring("GPMDomain Class")
  747. ]
  748. coclass GPMDomain
  749. {
  750. [default] interface IGPMDomain;
  751. };
  752. [
  753. uuid(229F5C42-852C-4B30-945F-C522BE9BD386),
  754. helpstring("GPMSitesContainer Class")
  755. ]
  756. coclass GPMSitesContainer
  757. {
  758. [default] interface IGPMSitesContainer;
  759. };
  760. [
  761. uuid(FCE4A59D-0F21-4AFA-B859-E6D0C62CD10C),
  762. helpstring("GPMBackupDir Class")
  763. ]
  764. coclass GPMBackupDir
  765. {
  766. [default] interface IGPMBackupDir;
  767. };
  768. [
  769. uuid(32D93FAC-450E-44CF-829C-8B22FF6BDAE1),
  770. helpstring("GPMSOM Class")
  771. ]
  772. coclass GPMSOM
  773. {
  774. [default] interface IGPMSOM;
  775. };
  776. [
  777. uuid(17AACA26-5CE0-44FA-8CC0-5259E6483566),
  778. helpstring("GPMSearchCriteria Class")
  779. ]
  780. coclass GPMSearchCriteria
  781. {
  782. [default] interface IGPMSearchCriteria;
  783. };
  784. [
  785. uuid(5871A40A-E9C0-46EC-913E-944EF9225A94),
  786. helpstring("GPMPermission Class")
  787. ]
  788. coclass GPMPermission
  789. {
  790. [default] interface IGPMPermission;
  791. };
  792. [
  793. uuid(547A5E8F-9162-4516-A4DF-9DDB9686D846),
  794. helpstring("GPMSecurityInfo Class")
  795. ]
  796. coclass GPMSecurityInfo
  797. {
  798. [default] interface IGPMSecurityInfo;
  799. };
  800. [
  801. uuid(ED1A54B8-5EFA-482A-93C0-8AD86F0D68C3),
  802. helpstring("GPMBackup Class")
  803. ]
  804. coclass GPMBackup
  805. {
  806. [default] interface IGPMBackup;
  807. };
  808. [
  809. uuid(EB8F035B-70DB-4A9F-9676-37C25994E9DC),
  810. helpstring("GPMBackupCollection Class")
  811. ]
  812. coclass GPMBackupCollection
  813. {
  814. [default] interface IGPMBackupCollection;
  815. };
  816. [
  817. uuid(24C1F147-3720-4F5B-A9C3-06B4E4F931D2),
  818. helpstring("GPMSOMCollection Class")
  819. ]
  820. coclass GPMSOMCollection
  821. {
  822. [default] interface IGPMSOMCollection;
  823. };
  824. [
  825. uuid(626745D8-0DEA-4062-BF60-CFC5B1CA1286),
  826. helpstring("GPMWMIFilter Class")
  827. ]
  828. coclass GPMWMIFilter
  829. {
  830. [default] interface IGPMWMIFilter;
  831. };
  832. [
  833. uuid(74DC6D28-E820-47D6-A0B8-F08D93D7FA33),
  834. helpstring("GPMWMIFilterCollection Class")
  835. ]
  836. coclass GPMWMIFilterCollection
  837. {
  838. [default] interface IGPMWMIFilterCollection;
  839. };
  840. [
  841. uuid(489B0CAF-9EC2-4EB7-91F5-B6F71D43DA8C),
  842. helpstring("GPMRSOP Class")
  843. ]
  844. coclass GPMRSOP
  845. {
  846. [default] interface IGPMRSOP;
  847. };
  848. [
  849. uuid(D2CE2994-59B5-4064-B581-4D68486A16C4),
  850. helpstring("GPMGPO Class")
  851. ]
  852. coclass GPMGPO
  853. {
  854. [default] interface IGPMGPO;
  855. };
  856. [
  857. uuid(7A057325-832D-4DE3-A41F-C780436A4E09),
  858. helpstring("GPMGPOCollection Class")
  859. ]
  860. coclass GPMGPOCollection
  861. {
  862. [default] interface IGPMGPOCollection;
  863. };
  864. [
  865. uuid(C1DF9880-5303-42C6-8A3C-0488E1BF7364),
  866. helpstring("GPMGPOLink Class")
  867. ]
  868. coclass GPMGPOLink
  869. {
  870. [default] interface IGPMGPOLink;
  871. };
  872. [
  873. uuid(F6ED581A-49A5-47E2-B771-FD8DC02B6259),
  874. helpstring("GPMGPOLinksCollection Class")
  875. ]
  876. coclass GPMGPOLinksCollection
  877. {
  878. [default] interface IGPMGPOLinksCollection;
  879. };
  880. [
  881. uuid(372796A9-76EC-479D-AD6C-556318ED5F9D),
  882. helpstring("GPMAsyncCancel Class")
  883. ]
  884. coclass GPMAsyncCancel
  885. {
  886. [default] interface IGPMAsyncCancel;
  887. };
  888. [
  889. uuid(2824E4BE-4BCC-4CAC-9E60-0E3ED7F12496),
  890. helpstring("GPMStatusMsgCollection Class")
  891. ]
  892. coclass GPMStatusMsgCollection
  893. {
  894. [default] interface IGPMStatusMsgCollection;
  895. };
  896. [
  897. uuid(4B77CC94-D255-409B-BC62-370881715A19),
  898. helpstring("GPMStatusMessage Class")
  899. ]
  900. coclass GPMStatusMessage
  901. {
  902. [default] interface IGPMStatusMessage;
  903. };
  904. [
  905. uuid(36ED64E5-7266-4545-8E14-1645EEBA2A90),
  906. helpstring("GPMEnum Class")
  907. ]
  908. coclass GPMEnum
  909. {
  910. [default] interface IEnumVARIANT;
  911. };
  912. [
  913. uuid(C54A700D-19B6-4211-BCB0-E8E2475E471E),
  914. helpstring("GPMTrustee Class")
  915. ]
  916. coclass GPMTrustee
  917. {
  918. [default] interface IGPMTrustee;
  919. };
  920. [
  921. uuid(C1A2E70E-659C-4B1A-940B-F88B0AF9C8A4),
  922. helpstring("GPMClientSideExtension Class")
  923. ]
  924. coclass GPMClientSideExtension
  925. {
  926. [default] interface IGPMClientSideExtension;
  927. };
  928. [
  929. uuid(CF92B828-2D44-4B61-B10A-B327AFD42DA8),
  930. helpstring("GPMCSECollection Class")
  931. ]
  932. coclass GPMCSECollection
  933. {
  934. [default] interface IGPMCSECollection;
  935. };
  936. [
  937. uuid(3855E880-CD9E-4D0C-9EAF-1579283A1888),
  938. helpstring("GPMConstants Class")
  939. ]
  940. coclass GPMConstants
  941. {
  942. [default] interface IGPMConstants;
  943. };
  944. [
  945. uuid(92101AC0-9287-4206-A3B2-4BDB73D225F6),
  946. helpstring("GPMResult Class")
  947. ]
  948. coclass GPMResult
  949. {
  950. [default] interface IGPMResult;
  951. };
  952. [
  953. uuid(0CF75D5B-A3A1-4C55-B4FE-9E149C41F66D),
  954. helpstring("GPMMapEntryCollection Class")
  955. ]
  956. coclass GPMMapEntryCollection
  957. {
  958. [default] interface IGPMMapEntryCollection;
  959. };
  960. [
  961. uuid(8C975253-5431-4471-B35D-0626C928258A),
  962. helpstring("GPMMapEntry Class")
  963. ]
  964. coclass GPMMapEntry
  965. {
  966. [default] interface IGPMMapEntry;
  967. };
  968. [
  969. uuid(55AF4043-2A06-4F72-ABEF-631B44079C76),
  970. helpstring("GPMMigrationTable Class")
  971. ]
  972. coclass GPMMigrationTable
  973. {
  974. [default] interface IGPMMigrationTable;
  975. };
  976. [
  977. uuid(18CBB703-4F47-4DCE-A5DD-3817DDBF8169),
  978. helpstring("GPOReportProvider Class")
  979. ]
  980. coclass GPOReportProvider
  981. {
  982. [default] interface IUnknown;
  983. };
  984. };