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.

294 lines
11 KiB

  1. // WizChain.idl : IDL source for WizChain.dll
  2. //
  3. // This file will be processed by the MIDL tool to
  4. // produce the type library (WizChain.tlb) and marshalling code.
  5. import "oaidl.idl";
  6. import "ocidl.idl";
  7. import "prsht.idl";
  8. // forward declation(s)
  9. interface IPropertyPagePropertyBag;
  10. interface IStatusDlg;
  11. interface IStatusProgress;
  12. [
  13. object,
  14. uuid(6F7E9CFA-A195-46d0-9878-79BDA018DFE0),
  15. helpstring("IChainWiz Interface"),
  16. pointer_default(unique)
  17. ]
  18. interface IChainWiz : IUnknown
  19. {
  20. [helpstring("method Initialize: handles to bitmaps, welcome title, welcome header, welcome text, finish header, finish text: MUST BE CALLED BEFORE ADDING WIZARD COMPONENTS!")] HRESULT Initialize([in] HBITMAP hbmWatermark, [in] HBITMAP hbmHeader, [in, string] LPOLESTR szTitle, [in, string] LPOLESTR szWelcomeHeader, [in, string] LPOLESTR szWelcomeText, [in, string] LPOLESTR szFinishHeader, [in, string] LPOLESTR szFinishIntroText, [in, string] LPOLESTR szFinishText);
  21. [helpstring("method AddWizardComponent: clsid of component as string")] HRESULT AddWizardComponent([in, string] LPOLESTR szClsidOfComponent);
  22. [helpstring("method DoModal: show wizard")] HRESULT DoModal([out] long * ret);
  23. [propget, helpstring("property PropertyBag: get wizard's IPropertyPagePropertyBag")] HRESULT PropertyBag([out, retval] IDispatch* *pVal);
  24. [propget, helpstring("get the name of the temp file that contains wizard's more info text")] HRESULT MoreInfoFileName([out, retval] BSTR *pbstrFileName);
  25. [propput, helpstring("Wizard Style")] HRESULT WizardStyle([in] VARIANT * var);
  26. };
  27. cpp_quote("#define CHAINWIZ_FINISH_BACKDISABLED 1")
  28. cpp_quote("#ifdef KLUDGE")
  29. struct _PROPSHEETPAGEW {
  30. DWORD dwSize;
  31. };
  32. typedef struct _PROPSHEETPAGEW PROPSHEETPAGEW;
  33. cpp_quote("#endif")
  34. [
  35. local,
  36. object,
  37. uuid(3818E18B-421C-49a0-B079-F1EBA9AF636B),
  38. helpstring("IAddPropertySheet Interface"),
  39. pointer_default(unique)
  40. ]
  41. interface IAddPropertySheet : IUnknown
  42. {
  43. [helpstring("method AddPage: add a single property sheet page")] HRESULT AddPage([in] PROPSHEETPAGEW * psp);
  44. };
  45. [
  46. uuid(C293B395-21A4-4a51-B336-9CE2607F1C82),
  47. version(1.0),
  48. helpstring("WizChain 1.0 Type Library")
  49. ]
  50. library WIZCHAINLib
  51. {
  52. importlib("stdole32.tlb");
  53. importlib("stdole2.tlb");
  54. [
  55. uuid(998B0D85-C774-412f-84C7-4DC436C2B7A5),
  56. helpstring("ChainWiz Class")
  57. ]
  58. coclass ChainWiz
  59. {
  60. [default] interface IChainWiz;
  61. };
  62. [
  63. uuid(8F66B505-5645-400a-9E0F-EB0C5EB5A7B8),
  64. helpstring("AddPropertySheet Class")
  65. ]
  66. coclass AddPropertySheet
  67. {
  68. [default] interface IAddPropertySheet;
  69. };
  70. [
  71. uuid(712C8598-F517-4d4a-A327-ABA6C6110B90),
  72. helpstring("PropertyPagePropertyBag Class")
  73. ]
  74. coclass PropertyPagePropertyBag
  75. {
  76. [default] interface IPropertyPagePropertyBag;
  77. };
  78. [
  79. uuid(16E6BADC-4036-48c8-A163-88FC9BBCBC57),
  80. helpstring("WizardScriptingEngine Class")
  81. ]
  82. coclass WizardScriptingEngine
  83. {
  84. [default] interface IWizardScriptingEngine;
  85. };
  86. [
  87. uuid(D8D32006-0232-418e-ADC8-4B118D05B3BA),
  88. helpstring("PropertyCollection Class")
  89. ]
  90. coclass PropertyCollection
  91. {
  92. [default] interface IPropertyCollection;
  93. };
  94. [
  95. uuid(220EC9FD-7E3C-4009-B937-E1ADBC680E29),
  96. helpstring("StatusDlg Class")
  97. ]
  98. coclass StatusDlg
  99. {
  100. [default] interface IStatusDlg;
  101. };
  102. [
  103. uuid(88AC4986-A081-4b3f-B41D-6F41AC28F28D),
  104. helpstring("StatusProgress Class")
  105. ]
  106. coclass StatusProgress
  107. {
  108. [default] interface IStatusProgress;
  109. };
  110. };
  111. [
  112. object,
  113. uuid(D3D510E3-B718-4dde-B164-97E704058AA6),
  114. helpstring("IAddPropertySheets Interface"),
  115. pointer_default(unique)
  116. ]
  117. interface IAddPropertySheets : IUnknown
  118. {
  119. [helpstring("method EnumPropertySheets: enums until S_FALSE or error, takes IAddPropertySheet interface")] HRESULT EnumPropertySheets([in] IAddPropertySheet * pADS);
  120. [helpstring("method ProvideFinishText: fill out text for last wizard page, takes pointer to LPOLESTR")] HRESULT ProvideFinishText([out,string] LPOLESTR * lpolestrString, [out,string] LPOLESTR * szMoreInfoText);
  121. [helpstring("method ReadProperties: read properties from IPropertyPagePropertyBag")] HRESULT ReadProperties ([in] IPropertyPagePropertyBag * pPPPBag);
  122. [helpstring("method WriteProperties: write properties to IPropertyPagePropertyBag")] HRESULT WriteProperties ([in] IPropertyPagePropertyBag * pPPPBag);
  123. };
  124. cpp_quote("// flags: type of properties in a IPropertyPagePropertyBag")
  125. typedef enum _PPPBAG_TYPE
  126. {
  127. PPPBAG_TYPE_UNINITIALIZED,
  128. PPPBAG_TYPE_READWRITE,
  129. PPPBAG_TYPE_READONLY,
  130. PPPBAG_TYPE_ADDITIVE,
  131. PPPBAG_TYPE_DELETION
  132. } PPPBAG_TYPE;
  133. [
  134. object,
  135. uuid(23DF902F-A644-4471-910D-76FBD66B8AAC),
  136. dual,
  137. helpstring("IPropertyPagePropertyBag Interface"),
  138. pointer_default(unique)
  139. ]
  140. interface IPropertyPagePropertyBag : IDispatch
  141. {
  142. [id(2), helpstring("method GetProperty: GUID of property to get, VARIANT* of property, PPPBAG_TYPE* flags, and BOOL* to specify if the caller is the owner")] HRESULT GetProperty([in] BSTR szGUID, [out] VARIANT * pvar, [out] PPPBAG_TYPE * dwFlags, [out] BOOL * pbIsOwner);
  143. [id(4), helpstring("method SetProperty: GUID of property to set, VARIANT* of property, and PPPBAG_TYPE flags")] HRESULT SetProperty([in] BSTR szGUID, [in] VARIANT * pvar, [in] PPPBAG_TYPE dwFlags);
  144. [id(6), helpstring("method Enumerate: index, pointer to GUID, VARIANT*, PPPBAG_TYPE* flags, BOOL* bOwner, (retval) BOOL bInRange ")] HRESULT Enumerate ([in] long index, [in,out] BSTR * pbstr, [in,out] VARIANT * pvar, [in,out] PPPBAG_TYPE* pdwFlags, [in,out] BOOL* pbIsOwner, [out,retval] BOOL* pbInRange);
  145. };
  146. [
  147. object,
  148. uuid(70FDBC60-D6E2-44f6-9D24-21A268080A8F),
  149. dual,
  150. helpstring("IWizardCommit Interface"),
  151. version(1.0)
  152. ]
  153. interface IWizardCommit : IDispatch
  154. {
  155. [id(1), helpstring("method Commit: IDispatch interface of property bag")] HRESULT Commit([in] IDispatch * pdispPPPBag);
  156. [id(2), helpstring("method Revert: no params")] HRESULT Revert ();
  157. };
  158. [
  159. object,
  160. uuid(E1B4DC48-223C-4a0a-B0C9-E012D3049858),
  161. dual,
  162. helpstring("IWizardCommitEx Interface"),
  163. version(1.0)
  164. ]
  165. interface IWizardCommitEx : IDispatch
  166. {
  167. [id(1), helpstring("method Commit: IDispatch interface of property bag")] HRESULT Commit([in] IDispatch * pdispPPPBag);
  168. [id(2), helpstring("method Revert: no params")] HRESULT Revert ();
  169. [id(3), helpstring("Validate the properties in the bag")] HRESULT ValidatePropertyBag([in] IDispatch * pdispPPPBag);
  170. [id(4), helpstring("method CommitEx")] HRESULT CommitEx([in] IDispatch * pdispPPPBag, [in] IStatusProgress * pSP);
  171. [id(5), helpstring("method SaveConfig")] HRESULT SaveConfig( [in] IDispatch * pdispPPPBag, [in] BSTR bstrConfigFileName);
  172. };
  173. [
  174. object,
  175. uuid(0A13AD8A-D35E-4f3d-AF3D-DB675AE3189C),
  176. dual,
  177. helpstring("IWizardScriptingEngine Interface"),
  178. pointer_default(unique)
  179. ]
  180. interface IWizardScriptingEngine : IDispatch
  181. {
  182. [id(1), helpstring("method Initialize")] HRESULT Initialize([in] BSTR bstrWatermarkBitmapFile, [in] BSTR bstrHeaderBitmapFile, [in] BSTR bstrTitle, [in] BSTR bstrWelcomeHeader, [in] BSTR bstrWelcomeText, [in] BSTR bstrFinishHeader, [in] BSTR bstrFinishIntroText, [in] BSTR bstrFinishText);
  183. [id(2), helpstring("method AddWizardComponent: BSTR of either class id or prog id")] HRESULT AddWizardComponent([in] BSTR bstrClassIdOrProgId);
  184. [id(3), helpstring("method DoModal")] HRESULT DoModal([out,retval] long * lRet);
  185. [propget, id(4), helpstring("property ScriptablePropertyBag")] HRESULT ScriptablePropertyBag([out, retval] IDispatch* *pVal);
  186. };
  187. [
  188. object,
  189. uuid(F651184C-B307-46b0-B70D-6523E8A35B8F),
  190. dual,
  191. helpstring("IPropertyItem Interface"),
  192. pointer_default(unique)
  193. ]
  194. interface IPropertyItem : IDispatch
  195. {
  196. [id(DISPID_VALUE), propget, helpstring("The Value of this Item")] HRESULT Value([out, retval] VARIANT *varValue);
  197. [id(1), propget, helpstring("The Name of this Item")] HRESULT Name([out, retval] BSTR *strName);
  198. [id(2), propget, helpstring("The Type of this Item")] HRESULT Type([out, retval] long *dwFlags);
  199. };
  200. [
  201. object,
  202. uuid(BCF85B43-4B07-432d-87E9-B3BD03E718F0),
  203. dual,
  204. helpstring("IPropertyCollection Interface"),
  205. pointer_default(unique)
  206. ]
  207. interface IPropertyCollection : IPropertyPagePropertyBag
  208. {
  209. [propget, id(DISPID_NEWENUM), restricted, helpstring("property _NewEnum: gets item enumerator")] HRESULT _NewEnum([out, retval] IUnknown* *pVal);
  210. [propget, id(DISPID_VALUE), helpstring("property Item")] HRESULT Item([in] VARIANT * pVar, [out, retval] IDispatch* *pVal);
  211. [propget, id(1), helpstring("property Count")] HRESULT Count([out, retval] long *pVal);
  212. [id(3), helpstring("method Add")] HRESULT Add([in] BSTR bstrGuid, [in] VARIANT *varValue, [in] long iFlags, [out, retval] IPropertyItem **ppItem);
  213. [id(5), helpstring("method Remove")] HRESULT Remove([in] BSTR bstrGuid);
  214. };
  215. // WizStatus stuff
  216. typedef enum _SD_STATUS
  217. {
  218. SD_STATUS_NONE = 0,
  219. SD_STATUS_SUCCEEDED,
  220. SD_STATUS_FAILED,
  221. SD_STATUS_RUNNING
  222. } SD_STATUS;
  223. cpp_quote("#define SD_BUTTON_OK 1")
  224. cpp_quote("#define SD_BUTTON_CANCEL 2")
  225. cpp_quote("#define SD_PROGRESS_COMPONENT 4")
  226. cpp_quote("#define SD_PROGRESS_OVERALL 8")
  227. cpp_quote("#define SD_PROGRESS_AUTOMATIC 16")
  228. [
  229. object,
  230. uuid(8BE52B68-AE6F-4967-B9D2-3EB45430519A),
  231. dual,
  232. helpstring("IStatusDlg Interface"),
  233. pointer_default(unique)
  234. ]
  235. interface IStatusDlg : IDispatch
  236. {
  237. [id(1), helpstring("Add a component to ListBox")] HRESULT AddComponent([in] BSTR bstrComponent, [out,retval] long * lIndex);
  238. [id(2), helpstring("Initialize the status dialog")] HRESULT Initialize( [in] BSTR bstrWindowTitle, [in] BSTR bstrWindowText, [in] VARIANT varFlags);
  239. [id(3), helpstring("Set status")] HRESULT SetStatus([in] long lIndex, [in] SD_STATUS sdStatus);
  240. [id(4), helpstring("Display")] HRESULT Display([in] BOOL vb);
  241. [id(5), helpstring("Wait for user to click Ok/Cancel")] HRESULT WaitForUser();
  242. [id(6), helpstring("Display error message")] HRESULT DisplayError(BSTR bstrError, BSTR bstrTitle, DWORD dwFlags, long * pRet);
  243. [id(7), helpstring("Set dialog text")] HRESULT SetStatusText(BSTR bstText);
  244. [propget, id(8), helpstring("property componentProgress")] HRESULT ComponentProgress([out, retval] IStatusProgress * *pVal);
  245. [propget, id(9), helpstring("property cancelled")] HRESULT Cancelled([out, retval] BOOL *pVal);
  246. [propget, id(10), helpstring("property OverallProgress")] HRESULT OverallProgress([out, retval] IStatusProgress * *pVal);
  247. };
  248. [
  249. object,
  250. uuid(D50B34E7-B447-4971-B48B-FBFA66152803),
  251. dual,
  252. helpstring("IStatusProgress Interface"),
  253. pointer_default(unique)
  254. ]
  255. interface IStatusProgress : IDispatch
  256. {
  257. [propget, id(1), helpstring("property Range")] HRESULT Range([out, retval] long *pVal);
  258. [propput, id(1), helpstring("property Range")] HRESULT Range([in] long newVal);
  259. [propput, id(2), helpstring("property Step")] HRESULT Step([in] long newVal);
  260. [propget, id(3), helpstring("property Position")] HRESULT Position([out, retval] long *pVal);
  261. [propput, id(3), helpstring("property Position")] HRESULT Position([in] long newVal);
  262. [id(5), helpstring("method StepIt")] HRESULT StepIt([in] long lSteps);
  263. [id(6), helpstring("method EnableOnTimerProgress")] HRESULT EnableOnTimerProgress([in] BOOL bEnable, [in] long lFreq, [in] long lMaxStep);
  264. [propput, id(7), helpstring("property Text")] HRESULT Text([in] BSTR newVal);
  265. };