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.

328 lines
14 KiB

  1. import "oaidl.idl";
  2. import "ocidl.idl";
  3. // Constants
  4. typedef enum RenameOption
  5. {
  6. admtDoNotRename,
  7. admtRenameWithPrefix,
  8. admtRenameWithSuffix,
  9. }
  10. RenameOption;
  11. typedef enum PasswordOption
  12. {
  13. admtPasswordFromName,
  14. admtComplexPassword,
  15. admtCopyPassword,
  16. }
  17. PasswordOption;
  18. typedef enum ConflictOptions
  19. {
  20. admtIgnoreConflicting = 0x00,
  21. admtReplaceConflicting = 0x01,
  22. admtRenameConflictingWithPrefix = 0x02,
  23. admtRenameConflictingWithSuffix = 0x03,
  24. admtRemoveExistingUserRights = 0x10,
  25. admtRemoveExistingMembers = 0x20,
  26. admtMoveReplacedAccounts = 0x40,
  27. }
  28. ConflictOptions;
  29. typedef enum DisableOption
  30. {
  31. admtEnableTarget = 0x00,
  32. admtDisableSource = 0x01,
  33. admtDisableTarget = 0x02,
  34. admtTargetSameAsSource = 0x04,
  35. }
  36. DisableOption;
  37. typedef enum SourceExpiration
  38. {
  39. admtNoExpiration = -1
  40. }
  41. SourceExpiration;
  42. typedef enum TranslateOption
  43. {
  44. admtTranslateReplace,
  45. admtTranslateAdd,
  46. admtTranslateRemove,
  47. }
  48. TranslateOption;
  49. typedef enum ReportType
  50. {
  51. admtReportMigratedAccounts,
  52. admtReportMigratedComputers,
  53. admtReportExpiredComputers,
  54. admtReportAccountReferences,
  55. admtReportNameConflicts,
  56. }
  57. ReportType;
  58. typedef enum DataOptions
  59. {
  60. admtNone,
  61. admtData,
  62. admtFile,
  63. admtDomain,
  64. admtRecurse = 0x0100,
  65. admtFlattenHierarchy = 0x0000,
  66. admtMaintainHierarchy = 0x0200,
  67. }
  68. DataOptions;
  69. // forward references
  70. interface IUserMigration;
  71. interface IGroupMigration;
  72. interface IComputerMigration;
  73. interface ISecurityTranslation;
  74. interface IServiceAccountEnumeration;
  75. interface IReportGeneration;
  76. // IMigration
  77. [
  78. object,
  79. uuid(FFA0E908-9849-4CFC-803E-F6A8ACF704A6),
  80. dual,
  81. helpstring("IMigration Interface"),
  82. pointer_default(unique)
  83. ]
  84. interface IMigration : IDispatch
  85. {
  86. [id( 1), propput] HRESULT TestMigration([in] VARIANT_BOOL bTest);
  87. [id( 1), propget] HRESULT TestMigration([out, retval] VARIANT_BOOL* pbTest);
  88. [id( 2), propput] HRESULT IntraForest([in] VARIANT_BOOL bIntraForest);
  89. [id( 2), propget] HRESULT IntraForest([out, retval] VARIANT_BOOL* pbIntraForest);
  90. [id( 3), propput] HRESULT SourceDomain([in] BSTR bstrDomain);
  91. [id( 3), propget] HRESULT SourceDomain([out, retval] BSTR* pbstrDomain);
  92. [id( 4), propput] HRESULT SourceOu([in] BSTR bstrOu);
  93. [id( 4), propget] HRESULT SourceOu([out, retval] BSTR* pbstrOu);
  94. [id( 5), propput] HRESULT TargetDomain([in] BSTR bstrDomain);
  95. [id( 5), propget] HRESULT TargetDomain([out, retval] BSTR* pbstrDomain);
  96. [id( 6), propput] HRESULT TargetOu([in] BSTR bstrOu);
  97. [id( 6), propget] HRESULT TargetOu([out, retval] BSTR* pbstrOu);
  98. [id( 7), propput] HRESULT RenameOption([in] long lOption);
  99. [id( 7), propget] HRESULT RenameOption([out, retval] long* plOption);
  100. [id( 8), propput] HRESULT RenamePrefixOrSuffix([in] BSTR bstrPrefixOrSuffix);
  101. [id( 8), propget] HRESULT RenamePrefixOrSuffix([out, retval] BSTR* pbstrPrefixOrSuffix);
  102. [id( 9), propput] HRESULT PasswordOption([in] long lOption);
  103. [id( 9), propget] HRESULT PasswordOption([out, retval] long* plOption);
  104. [id(10), propput] HRESULT PasswordServer([in] BSTR bstrServer);
  105. [id(10), propget] HRESULT PasswordServer([out, retval] BSTR* pbstrServer);
  106. [id(11), propput] HRESULT PasswordFile([in] BSTR bstrPath);
  107. [id(11), propget] HRESULT PasswordFile([out, retval] BSTR* pbstrPath);
  108. [id(12), propput] HRESULT ConflictOptions([in] long lOptions);
  109. [id(12), propget] HRESULT ConflictOptions([out, retval] long* plOptions);
  110. [id(13), propput] HRESULT ConflictPrefixOrSuffix([in] BSTR bstrPrefixOrSuffix);
  111. [id(13), propget] HRESULT ConflictPrefixOrSuffix([out, retval] BSTR* pbstrPrefixOrSuffix);
  112. [id(14), propput] HRESULT UserPropertiesToExclude([in] BSTR bstrProperties);
  113. [id(14), propget] HRESULT UserPropertiesToExclude([out, retval] BSTR* pbstrProperties);
  114. [id(15), propput] HRESULT InetOrgPersonPropertiesToExclude([in] BSTR bstrProperties);
  115. [id(15), propget] HRESULT InetOrgPersonPropertiesToExclude([out, retval] BSTR* pbstrProperties);
  116. [id(16), propput] HRESULT GroupPropertiesToExclude([in] BSTR bstrProperties);
  117. [id(16), propget] HRESULT GroupPropertiesToExclude([out, retval] BSTR* pbstrProperties);
  118. [id(17), propput] HRESULT ComputerPropertiesToExclude([in] BSTR bstrProperties);
  119. [id(17), propget] HRESULT ComputerPropertiesToExclude([out, retval] BSTR* pbstrProperties);
  120. [id(18), propput] HRESULT SystemPropertiesToExclude([in] BSTR bstrProperties);
  121. [id(18), propget] HRESULT SystemPropertiesToExclude([out, retval] BSTR* pbstrProperties);
  122. [id(19)] HRESULT CreateUserMigration([out, retval] IUserMigration** pitfUserMigration);
  123. [id(20)] HRESULT CreateGroupMigration([out, retval] IGroupMigration** pitfGroupMigration);
  124. [id(21)] HRESULT CreateComputerMigration([out, retval] IComputerMigration** pitfComputerMigration);
  125. [id(22)] HRESULT CreateSecurityTranslation([out, retval] ISecurityTranslation** pitfSecurityTranslation);
  126. [id(23)] HRESULT CreateServiceAccountEnumeration([out, retval] IServiceAccountEnumeration** pitfServiceAccountEnumeration);
  127. [id(24)] HRESULT CreateReportGeneration([out, retval] IReportGeneration** pitfReportGeneration);
  128. };
  129. // IUserMigration
  130. [
  131. object,
  132. uuid(ED07BCE9-5968-4BE8-BE85-E976C93AD2CC),
  133. dual,
  134. helpstring("IUserMigration Interface"),
  135. pointer_default(unique)
  136. ]
  137. interface IUserMigration : IDispatch
  138. {
  139. [id(1), propput] HRESULT DisableOption([in] long lOption);
  140. [id(1), propget] HRESULT DisableOption([out, retval] long* plOption);
  141. [id(2), propput] HRESULT SourceExpiration([in] long lExpiration);
  142. [id(2), propget] HRESULT SourceExpiration([out, retval] long* plExpiration);
  143. [id(3), propput] HRESULT MigrateSIDs([in] VARIANT_BOOL bMigrate);
  144. [id(3), propget] HRESULT MigrateSIDs([out, retval] VARIANT_BOOL* pbMigrate);
  145. [id(4), propput] HRESULT TranslateRoamingProfile([in] VARIANT_BOOL bTranslate);
  146. [id(4), propget] HRESULT TranslateRoamingProfile([out, retval] VARIANT_BOOL* pbTranslate);
  147. [id(5), propput] HRESULT UpdateUserRights([in] VARIANT_BOOL bUpdate);
  148. [id(5), propget] HRESULT UpdateUserRights([out, retval] VARIANT_BOOL* pbUpdate);
  149. [id(6), propput] HRESULT MigrateGroups([in] VARIANT_BOOL bMigrate);
  150. [id(6), propget] HRESULT MigrateGroups([out, retval] VARIANT_BOOL* pbMigrate);
  151. [id(7), propput] HRESULT UpdatePreviouslyMigratedObjects([in] VARIANT_BOOL bUpdate);
  152. [id(7), propget] HRESULT UpdatePreviouslyMigratedObjects([out, retval] VARIANT_BOOL* pbUpdate);
  153. [id(8), propput] HRESULT FixGroupMembership([in] VARIANT_BOOL bFix);
  154. [id(8), propget] HRESULT FixGroupMembership([out, retval] VARIANT_BOOL* pbFix);
  155. [id(9)] HRESULT Migrate([in] long lOptions, [in, optional] VARIANT vntInclude, [in, optional] VARIANT vntExclude);
  156. [id(10), propput] HRESULT MigrateServiceAccounts([in] VARIANT_BOOL bMigrate);
  157. [id(10), propget] HRESULT MigrateServiceAccounts([out, retval] VARIANT_BOOL* pbMigrate);
  158. };
  159. // IGroupMigration
  160. [
  161. object,
  162. uuid(A29D4925-B16A-4E89-9328-BF50999C8EDD),
  163. dual,
  164. helpstring("IGroupMigration Interface"),
  165. pointer_default(unique)
  166. ]
  167. interface IGroupMigration : IDispatch
  168. {
  169. [id(1), propput] HRESULT MigrateSIDs([in] VARIANT_BOOL bMigrate);
  170. [id(1), propget] HRESULT MigrateSIDs([out, retval] VARIANT_BOOL* pbMigrate);
  171. [id(2), propput] HRESULT UpdateGroupRights([in] VARIANT_BOOL bUpdate);
  172. [id(2), propget] HRESULT UpdateGroupRights([out, retval] VARIANT_BOOL* pbUpdate);
  173. [id(3), propput] HRESULT UpdatePreviouslyMigratedObjects([in] VARIANT_BOOL bUpdate);
  174. [id(3), propget] HRESULT UpdatePreviouslyMigratedObjects([out, retval] VARIANT_BOOL* pbUpdate);
  175. [id(4), propput] HRESULT FixGroupMembership([in] VARIANT_BOOL bFix);
  176. [id(4), propget] HRESULT FixGroupMembership([out, retval] VARIANT_BOOL* pbFix);
  177. [id(5), propput] HRESULT MigrateMembers([in] VARIANT_BOOL bMigrate);
  178. [id(5), propget] HRESULT MigrateMembers([out, retval] VARIANT_BOOL* pbMigrate);
  179. [id(6), propput] HRESULT DisableOption([in] long lOption);
  180. [id(6), propget] HRESULT DisableOption([out, retval] long* plOption);
  181. [id(7), propput] HRESULT SourceExpiration([in] long lExpiration);
  182. [id(7), propget] HRESULT SourceExpiration([out, retval] long* plExpiration);
  183. [id(8), propput] HRESULT TranslateRoamingProfile([in] VARIANT_BOOL bTranslate);
  184. [id(8), propget] HRESULT TranslateRoamingProfile([out, retval] VARIANT_BOOL* pbTranslate);
  185. [id(9)] HRESULT Migrate([in] long lOptions, [in, optional] VARIANT vntInclude, [in, optional] VARIANT vntExclude);
  186. };
  187. // IComputerMigration
  188. [
  189. object,
  190. uuid(FE808F47-442A-48E0-B9BB-471843C01018),
  191. dual,
  192. helpstring("IComputerMigration Interface"),
  193. pointer_default(unique)
  194. ]
  195. interface IComputerMigration : IDispatch
  196. {
  197. [id( 1), propput] HRESULT TranslationOption([in] long lOption);
  198. [id( 1), propget] HRESULT TranslationOption([out, retval] long* plOption);
  199. [id( 2), propput] HRESULT TranslateFilesAndFolders([in] VARIANT_BOOL bTranslate);
  200. [id( 2), propget] HRESULT TranslateFilesAndFolders([out, retval] VARIANT_BOOL* pbTranslate);
  201. [id( 3), propput] HRESULT TranslateLocalGroups([in] VARIANT_BOOL bTranslate);
  202. [id( 3), propget] HRESULT TranslateLocalGroups([out, retval] VARIANT_BOOL* pbTranslate);
  203. [id( 4), propput] HRESULT TranslatePrinters([in] VARIANT_BOOL bTranslate);
  204. [id( 4), propget] HRESULT TranslatePrinters([out, retval] VARIANT_BOOL* pbTranslate);
  205. [id( 5), propput] HRESULT TranslateRegistry([in] VARIANT_BOOL bTranslate);
  206. [id( 5), propget] HRESULT TranslateRegistry([out, retval] VARIANT_BOOL* pbTranslate);
  207. [id( 6), propput] HRESULT TranslateShares([in] VARIANT_BOOL bTranslate);
  208. [id( 6), propget] HRESULT TranslateShares([out, retval] VARIANT_BOOL* pbTranslate);
  209. [id( 7), propput] HRESULT TranslateUserProfiles([in] VARIANT_BOOL bTranslate);
  210. [id( 7), propget] HRESULT TranslateUserProfiles([out, retval] VARIANT_BOOL* pbTranslate);
  211. [id( 8), propput] HRESULT TranslateUserRights([in] VARIANT_BOOL bTranslate);
  212. [id( 8), propget] HRESULT TranslateUserRights([out, retval] VARIANT_BOOL* pbTranslate);
  213. [id( 9), propput] HRESULT RestartDelay([in] long lTime);
  214. [id( 9), propget] HRESULT RestartDelay([out, retval] long* plTime);
  215. [id(10)] HRESULT Migrate([in] long lOptions, [in, optional] VARIANT vntInclude, [in, optional] VARIANT vntExclude);
  216. };
  217. // ISecurityTranslation
  218. [
  219. object,
  220. uuid(E7330F07-E140-43C3-A082-9DDE98CED9F4),
  221. dual,
  222. helpstring("ISecurityTranslation Interface"),
  223. pointer_default(unique)
  224. ]
  225. interface ISecurityTranslation : IDispatch
  226. {
  227. [id( 1), propput] HRESULT TranslationOption([in] long lOption);
  228. [id( 1), propget] HRESULT TranslationOption([out, retval] long* lOption);
  229. [id( 2), propput] HRESULT TranslateFilesAndFolders([in] VARIANT_BOOL bTranslate);
  230. [id( 2), propget] HRESULT TranslateFilesAndFolders([out, retval] VARIANT_BOOL* bTranslate);
  231. [id( 3), propput] HRESULT TranslateLocalGroups([in] VARIANT_BOOL bTranslate);
  232. [id( 3), propget] HRESULT TranslateLocalGroups([out, retval] VARIANT_BOOL* bTranslate);
  233. [id( 4), propput] HRESULT TranslatePrinters([in] VARIANT_BOOL bTranslate);
  234. [id( 4), propget] HRESULT TranslatePrinters([out, retval] VARIANT_BOOL* bTranslate);
  235. [id( 5), propput] HRESULT TranslateRegistry([in] VARIANT_BOOL bTranslate);
  236. [id( 5), propget] HRESULT TranslateRegistry([out, retval] VARIANT_BOOL* bTranslate);
  237. [id( 6), propput] HRESULT TranslateShares([in] VARIANT_BOOL bTranslate);
  238. [id( 6), propget] HRESULT TranslateShares([out, retval] VARIANT_BOOL* bTranslate);
  239. [id( 7), propput] HRESULT TranslateUserProfiles([in] VARIANT_BOOL bTranslate);
  240. [id( 7), propget] HRESULT TranslateUserProfiles([out, retval] VARIANT_BOOL* bTranslate);
  241. [id( 8), propput] HRESULT TranslateUserRights([in] VARIANT_BOOL bTranslate);
  242. [id( 8), propget] HRESULT TranslateUserRights([out, retval] VARIANT_BOOL* bTranslate);
  243. [id( 9), propput] HRESULT SidMappingFile([in] BSTR bstrFile);
  244. [id( 9), propget] HRESULT SidMappingFile([out, retval] BSTR* pbstrFile);
  245. [id(10)] HRESULT Translate([in] long lOptions, [in, optional] VARIANT vntInclude, [in, optional] VARIANT vntExclude);
  246. };
  247. // IServiceAccountEnumeration
  248. [
  249. object,
  250. uuid(4AC4E39B-A2E8-4CA4-B54F-6BE9D8046C9B),
  251. dual,
  252. helpstring("IServiceAccountEnumeration Interface"),
  253. pointer_default(unique)
  254. ]
  255. interface IServiceAccountEnumeration : IDispatch
  256. {
  257. [id(1)] HRESULT Enumerate([in] long lOptions, [in, optional] VARIANT vntInclude, [in, optional] VARIANT vntExclude);
  258. };
  259. // IReportGeneration
  260. [
  261. object,
  262. uuid(146D20A6-2093-4A58-97EC-E4D092124410),
  263. dual,
  264. helpstring("IReportGeneration Interface"),
  265. pointer_default(unique)
  266. ]
  267. interface IReportGeneration : IDispatch
  268. {
  269. [id(1), propput] HRESULT Type([in] long lType);
  270. [id(1), propget] HRESULT Type([out, retval] long* plType);
  271. [id(2), propput] HRESULT Folder([in] BSTR bstrFolder);
  272. [id(2), propget] HRESULT Folder([out, retval] BSTR* pbstrFolder);
  273. [id(3)] HRESULT Generate([in] long lOptions, [in, optional] VARIANT vntInclude, [in, optional] VARIANT vntExclude);
  274. };
  275. [
  276. uuid(28214D84-FBA0-4E65-A511-829AFC114191),
  277. version(1.0),
  278. helpstring("ADMT 1.0")
  279. ]
  280. library ADMT
  281. {
  282. importlib("stdole32.tlb");
  283. importlib("stdole2.tlb");
  284. enum RenameOption;
  285. enum PasswordOption;
  286. enum ConflictOptions;
  287. enum DisableOption;
  288. enum SourceExpiration;
  289. enum TranslateOption;
  290. enum ReportType;
  291. enum DataOptions;
  292. [
  293. uuid(285029CC-5048-4D90-8B38-22D304F513DC),
  294. helpstring("Migration Class")
  295. ]
  296. coclass Migration
  297. {
  298. [default] interface IMigration;
  299. };
  300. };