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.

438 lines
12 KiB

  1. // SSRTE.idl : IDL source for SSRTE.dll
  2. //
  3. // This file will be processed by the MIDL tool to
  4. // produce the type library (SSRTE.tlb) and marshalling code.
  5. import "oaidl.idl";
  6. import "ocidl.idl";
  7. cpp_quote("//")
  8. cpp_quote("// ISsrCore interface guid")
  9. cpp_quote("//")
  10. cpp_quote("//eb15e3fe-d412-4b2d-8810-3d3d16091aeb")
  11. cpp_quote("DEFINE_GUID(IID_ISsrCore, 0xeb15e3fe,0xd412,0x4b2d,0x88,0x10,0x3d,0x3d,0x16,0x09,0x1a,0xeb);")
  12. cpp_quote("")
  13. cpp_quote("//")
  14. cpp_quote("// ISsrActionData interface guid")
  15. cpp_quote("//")
  16. cpp_quote("//69e5f6f4-c7e1-4bec-9fac-05e283597631")
  17. cpp_quote("DEFINE_GUID(IID_ISsrActionData, 0x69e5f6f4,0xc7e1,0x4bec,0x9f,0xac,0x05,0xe2,0x83,0x59,0x76,0x31);")
  18. cpp_quote("")
  19. cpp_quote("//")
  20. cpp_quote("// ISsrEngine interface guid")
  21. cpp_quote("//")
  22. cpp_quote("//B2B6867C-4AC5-4AC3-9195-B81056278BFA")
  23. cpp_quote("DEFINE_GUID(IID_ISsrEngine, 0xB2B6867C,0x4AC5,0x4AC3,0x91,0x95,0xB8,0x10,0x56,0x27,0x8B,0xFA);")
  24. cpp_quote("")
  25. cpp_quote("//")
  26. cpp_quote("// ISsrMembership interface guid")
  27. cpp_quote("//")
  28. cpp_quote("//0431c91d-60cd-4744-abf0-0398b4407934")
  29. cpp_quote("DEFINE_GUID(IID_ISsrMembership, 0x0431c91d,0x60cd,0x4744,0xab,0xf0,0x03,0x98,0xb4,0x40,0x79,0x34);")
  30. cpp_quote("")
  31. cpp_quote("//")
  32. cpp_quote("// ISsrMemberAccess interface guid")
  33. cpp_quote("//")
  34. cpp_quote("//00bf629c-5cb2-42c9-8e19-18a86a67b6ce")
  35. cpp_quote("DEFINE_GUID(IID_ISsrMemberAccess, 0x00bf629c,0x5cb2,0x42c9,0x8e,0x19,0x18,0xa8,0x6a,0x67,0xb6,0xce);")
  36. cpp_quote("")
  37. cpp_quote("//")
  38. cpp_quote("// ISsrMember interface guid")
  39. cpp_quote("//")
  40. cpp_quote("//f5afac44-bd77-46b1-a280-a7af9568682d")
  41. cpp_quote("DEFINE_GUID(IID_ISsrMember, 0xf5afac44,0xbd77,0x46b1,0xa2,0x80,0xa7,0xaf,0x95,0x68,0x68,0x2d);")
  42. cpp_quote("")
  43. cpp_quote("//")
  44. cpp_quote("// ISsrFeedbackSink interface guid")
  45. cpp_quote("//")
  46. cpp_quote("//7c087389-66d3-4088-9495-e022c7f48d38")
  47. cpp_quote("DEFINE_GUID(IID_ISsrFeedbackSink, 0x7c087389,0x66d3,0x4088,0x94,0x95,0xe0,0x22,0xc7,0xf4,0x8d,0x38);")
  48. cpp_quote("")
  49. cpp_quote("//")
  50. cpp_quote("// ISsrLog interface guid")
  51. cpp_quote("//")
  52. cpp_quote("//4062d4e6-2f42-4ec1-8d0f-b6adf5bfbfa3")
  53. cpp_quote("DEFINE_GUID(IID_ISsrLog, 0x4062d4e6,0x2f42,0x4ec1,0x8d,0x0f,0xb6,0xad,0xf5,0xbf,0xbf,0xa3);")
  54. cpp_quote("")
  55. cpp_quote("//")
  56. cpp_quote("// ISCEAgent interface guid")
  57. cpp_quote("//")
  58. cpp_quote("//E95CF71E-2E2F-4A9F-A653-5A8D5946127E")
  59. cpp_quote("DEFINE_GUID(IID_ISCEAgent, 0xE95CF71E,0x2E2F,0x4A9F,0xA6,0x53,0x5A,0x8D,0x59,0x46,0x12,0x7E);")
  60. cpp_quote("")
  61. cpp_quote("//")
  62. cpp_quote("// SsrCore class id")
  63. cpp_quote("//")
  64. cpp_quote("//fe64acb0-e0e7-4b4a-8086-923b5031bca9")
  65. cpp_quote("DEFINE_GUID(CLSID_SsrCore, 0xfe64acb0,0xe0e7,0x4b4a,0x80,0x86,0x92,0x3b,0x50,0x31,0xbc,0xa9);")
  66. cpp_quote("")
  67. cpp_quote("//")
  68. cpp_quote("// SsrLog class id")
  69. cpp_quote("//")
  70. cpp_quote("//5fd4d76a-03e2-46d5-971e-9fe5b209f08e")
  71. cpp_quote("DEFINE_GUID(CLSID_SsrLog, 0x5fd4d76a,0x03e2,0x46d5,0x97,0x1e,0x9f,0xe5,0xb2,0x09,0xf0,0x8e);")
  72. cpp_quote("")
  73. cpp_quote("//")
  74. cpp_quote("// SCEAgent class id")
  75. cpp_quote("//")
  76. cpp_quote("//6906A802-45AB-4C4A-AADE-C4DF06E38FA2")
  77. cpp_quote("DEFINE_GUID(CLSID_SCEAgent, 0x6906A802,0x45AB,0x4C4A,0xAA,0xDE,0xC4,0xDF,0x06,0xE3,0x8F,0xA2);")
  78. enum EnumSSRActionType
  79. {
  80. SSR_ACTION_INVALID = 0x00000000,
  81. SSR_ACTION_PREPARE = 0x00000001,
  82. SSR_ACTION_APPLY = 0x00000002,
  83. };
  84. enum EnumSSR_LoadDOM_Flags
  85. {
  86. SSR_LOADDOM_ASYNC = 0x00000001,
  87. SSR_LOADDOM_PRESERVE_WS = 0x00000002,
  88. SSR_LOADDOM_RESOLVE_EXTERNAL = 0x00000004,
  89. SSR_LOADDOM_VALIDATE_ON_PARSE = 0x00000008,
  90. };
  91. enum EnumSSRLogErrorType
  92. {
  93. SSR_LOG_ERROR_TYPE_Wbem = 0x00000001,
  94. SSR_LOG_ERROR_TYPE_COM = 0x00000002,
  95. SSR_LOG_ERROR_TYPE_System = 0x00000003,
  96. };
  97. enum EnumActionCost
  98. {
  99. SSR_ACTION_COST_STEPS = 0x00000001,
  100. SSR_ACTION_COST_MILLISEC = 0x00000002,
  101. };
  102. enum EnumSSRFeedbackMsg
  103. {
  104. SSR_FB_START = 0x00000001,
  105. SSR_FB_END = 0x00000002,
  106. SSR_FB_TOTAL_STEPS = 0x00000003,
  107. SSR_FB_STEPS_JUST_DONE = 0x00000004,
  108. SSR_FB_TRANSFORM_RESULT = 0x00000005,
  109. SSR_FB_RUN_SCRIPT = 0x00000006,
  110. SSR_FB_EXIT_CODE = 0x00000007,
  111. SSR_FB_START_MEMBER_ACTION = 0x00000008,
  112. SSR_FB_END_MEMBER_ACTION = 0x00000009,
  113. SSR_FB_INFORMATION = 0x00000100,
  114. SSR_FB_INFORMATION_MASK = 0x0000FF00,
  115. SSR_FB_ERROR_GENERIC = 0x00010000,
  116. SSR_FB_ERROR_CRITICAL = 0x00020000,
  117. SSR_FB_ERROR_FILE_READ = 0x00030000,
  118. SSR_FB_ERROR_FILE_WRITE = 0x00040000,
  119. SSR_FB_ERROR_FILE_DEL = 0x00050000,
  120. SSR_FB_ERROR_FILE_CREATE = 0x00060000,
  121. SSR_FB_ERROR_FILE_MISS = 0x00070000,
  122. SSR_FB_ERROR_UNKNOWN_MEMBER = 0x00080000, // unknown extension
  123. SSR_FB_ERROR_MEMBER_SCHEMA = 0x00090000,
  124. SSR_FB_ERROR_LOAD_MEMBER = 0x000A0000,
  125. SSR_FB_ERROR_MEMBER_XML = 0x000B0000,
  126. SSR_FB_ERROR_MASK = 0x00FF0000,
  127. SSR_FB_ALL_MASK = 0x00FFFFFF,
  128. };
  129. [
  130. object,
  131. uuid(eb15e3fe-d412-4b2d-8810-3d3d16091aeb),
  132. dual,
  133. helpstring("ISsrCore"),
  134. pointer_default(unique)
  135. ]
  136. interface ISsrCore : IDispatch
  137. {
  138. [propget, id(1), helpstring("property ActionData")]
  139. HRESULT ActionData([out, retval] VARIANT * pVal);
  140. [propget, id(2), helpstring("property Engine")]
  141. HRESULT Engine([out, retval] VARIANT * pVal);
  142. [propget, id(3), helpstring("property SsrLog")]
  143. HRESULT SsrLog([out, retval] VARIANT * pVal);
  144. };
  145. [
  146. object,
  147. uuid(69e5f6f4-c7e1-4bec-9fac-05e283597631),
  148. dual,
  149. helpstring("ISsrActionData"),
  150. pointer_default(unique)
  151. ]
  152. interface ISsrActionData : IDispatch
  153. {
  154. [id(1), helpstring("method GetProperty")]
  155. HRESULT GetProperty (
  156. [in] BSTR bstrPropName,
  157. [out, retval] VARIANT * pvarPropties
  158. );
  159. [id(2), helpstring("method SetProperty")]
  160. HRESULT SetProperty (
  161. [in] BSTR bstrPropName,
  162. [in] VARIANT varProperties
  163. );
  164. [id(5), helpstring("method Reset")]
  165. HRESULT Reset();
  166. };
  167. [
  168. object,
  169. uuid(B2B6867C-4AC5-4AC3-9195-B81056278BFA),
  170. dual,
  171. helpstring("ISsrEngine Interface"),
  172. pointer_default(unique)
  173. ]
  174. interface ISsrEngine : IDispatch
  175. {
  176. [id(1), helpstring("method DoActionVerb")]
  177. HRESULT DoActionVerb (
  178. [in] BSTR bstrActionVerb,
  179. [in] LONG lActionType,
  180. [in] VARIANT varFeedbackSink,
  181. [in] LONG lFlag
  182. );
  183. };
  184. [
  185. object,
  186. uuid(0431c91d-60cd-4744-abf0-0398b4407934),
  187. dual,
  188. helpstring("ISsrMemberShip Interface"),
  189. pointer_default(unique)
  190. ]
  191. interface ISsrMembership : IDispatch
  192. {
  193. [id(1), helpstring("method GetAllMembers")]
  194. HRESULT GetAllMembers (
  195. [out, retval] VARIANT * pvarArrayMembers
  196. );
  197. [id(2), helpstring("method GetMember")]
  198. HRESULT GetMember (
  199. [in] BSTR bstrMemberName,
  200. [out, retval] VARIANT * pvarMember
  201. );
  202. [id(3), helpstring("method GetDirectoryLocation")]
  203. HRESULT GetDirectoryLocation (
  204. [in] BSTR bstrActionVerb,
  205. [in] BOOL bIsScriptFile,
  206. [out, retval] BSTR * pbstrLocPath
  207. );
  208. };
  209. [
  210. object,
  211. uuid(00bf629c-5cb2-42c9-8e19-18a86a67b6ce),
  212. dual,
  213. helpstring("ISsrMemberAccess Interface"),
  214. pointer_default(unique)
  215. ]
  216. interface ISsrMemberAccess : IDispatch
  217. {
  218. [id(1), helpstring("method GetSupportedActions")]
  219. HRESULT GetSupportedActions (
  220. [in] BOOL bDefault,
  221. [out, retval] VARIANT * pvarArrayActionNames
  222. );
  223. [propget, id(2), helpstring("property Name")]
  224. HRESULT Name (
  225. [out, retval] BSTR * pbstrName
  226. );
  227. [propget, id(3), helpstring("property SsrMember")]
  228. HRESULT SsrMember (
  229. [out, retval] VARIANT * pvarSSRMember
  230. );
  231. };
  232. [
  233. object,
  234. uuid(f5afac44-bd77-46b1-a280-a7af9568682d),
  235. dual,
  236. helpstring("ISsrMember Interface"),
  237. pointer_default(unique)
  238. ]
  239. interface ISsrMember : IDispatch
  240. {
  241. [id(1), helpstring("method SetActionContext")]
  242. HRESULT SetActionContext (
  243. [in] VARIANT varSsrActionData,
  244. [in] VARIANT varSsrLog,
  245. [in] VARIANT varSsrFeedback
  246. );
  247. [propget, id(2), helpstring("property ActionCost")]
  248. HRESULT ActionCost (
  249. [in] BSTR bstrActionVerb,
  250. [in] LONG lActionType,
  251. [in] LONG lCostFlag,
  252. [out, retval] LONG * plActionCost
  253. );
  254. [id(3), helpstring("method DoActionVerb")]
  255. HRESULT DoActionVerb(
  256. [in] BSTR bstrActionVerb,
  257. [in] LONG lActionType,
  258. [in] LONG lFlag
  259. );
  260. };
  261. [
  262. object,
  263. uuid(7c087389-66d3-4088-9495-e022c7f48d38),
  264. helpstring("ISsrFeedbackSink Interface"),
  265. pointer_default(unique)
  266. ]
  267. interface ISsrFeedbackSink : IUnknown
  268. {
  269. [id(1), helpstring("method OnNotify")]
  270. HRESULT OnNotify (
  271. [in] LONG lFbMsg,
  272. [in] VARIANT varInfoDetail,
  273. [in, string] LPCWSTR pwszDescription
  274. );
  275. };
  276. [
  277. object,
  278. uuid(4062d4e6-2f42-4ec1-8d0f-b6adf5bfbfa3),
  279. dual,
  280. helpstring("ISsrLog Interface"),
  281. pointer_default(unique)
  282. ]
  283. interface ISsrLog : IDispatch
  284. {
  285. [id(1), helpstring("method LogResult")]
  286. HRESULT LogResult (
  287. [in] BSTR bstrSrc,
  288. [in] LONG lErrorCode,
  289. [in] LONG lErrorCodeType // WMI, COM, system
  290. );
  291. [id(2), helpstring("method LogString")]
  292. HRESULT LogString(
  293. [in] BSTR bstrLogRecord
  294. );
  295. [propget, id(3), helpstring("property LogFilePath")]
  296. HRESULT LogFilePath(
  297. [out, retval] BSTR * pbstrLogFilePath
  298. );
  299. [propput, id(4), helpstring("property LogFile")]
  300. HRESULT LogFile(
  301. [in] BSTR bstrLogFile
  302. );
  303. };
  304. [
  305. object,
  306. uuid(E95CF71E-2E2F-4A9F-A653-5A8D5946127E),
  307. dual,
  308. helpstring("ISCEAgent Interface"),
  309. pointer_default(unique)
  310. ]
  311. interface ISCEAgent : IDispatch
  312. {
  313. [id(1), helpstring("method Configure")]
  314. HRESULT Configure([in] BSTR bstrTemplate, [in] LONG lAreaMask, [in] BSTR bstrLogFile);
  315. [id(2), helpstring("method CreateRollbackTemplate")]
  316. HRESULT CreateRollbackTemplate([in] BSTR bstrTemplatePath, [in] BSTR bstrRollbackPath, [in] BSTR bstrLogFilePath);
  317. };
  318. [
  319. uuid(78726451-3f87-49eb-a2c9-8c809195a2c2),
  320. version(1.0),
  321. helpstring("SSR 1.0 Type Library")
  322. ]
  323. library SSRLib
  324. {
  325. importlib("stdole32.tlb");
  326. importlib("stdole2.tlb");
  327. interface ISsrActionData;
  328. interface ISsrEngine;
  329. interface ISsrMemberAccess;
  330. interface ISsrMember;
  331. interface ISsrFeedbackSink;
  332. [
  333. uuid(fe64acb0-e0e7-4b4a-8086-923b5031bca9),
  334. helpstring("Core Class")
  335. ]
  336. coclass SsrCore
  337. {
  338. [default] interface ISsrCore;
  339. };
  340. [
  341. uuid(5fd4d76a-03e2-46d5-971e-9fe5b209f08e),
  342. helpstring("Log Class")
  343. ]
  344. coclass SsrLog
  345. {
  346. [default] interface ISsrLog;
  347. };
  348. [
  349. uuid(6906A802-45AB-4C4A-AADE-C4DF06E38FA2),
  350. helpstring("SCEAgent Class")
  351. ]
  352. coclass SCEAgent
  353. {
  354. [default] interface ISCEAgent;
  355. };
  356. };