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.

172 lines
5.5 KiB

  1. //=--------------------------------------------------------------------------=
  2. // asctrls.odl
  3. //=--------------------------------------------------------------------------=
  4. // Copyright 1995-1996 Microsoft Corporation. All Rights Reserved.
  5. //
  6. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  7. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  8. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  9. // PARTICULAR PURPOSE.
  10. //=--------------------------------------------------------------------------=
  11. //
  12. // ODL file for the control(s) and automation object(s) in this inproc server
  13. //
  14. #include <olectl.h>
  15. #include <idispids.h>
  16. #include <internet.h>
  17. #include "dispids.h"
  18. /*
  19. LIBID_ASControls {CC0918E0-EFE5-11cf-A044-00AA00B6015C}
  20. IID_DInstallEngineEvents {6E449681-C509-11CF-AAFA-00AA00B6015C}
  21. IID_IInstallEngineCtl {6E449682-C509-11CF-AAFA-00AA00B6015C}
  22. CLSID_InstallEngineCtl {6E449683-C509-11CF-AAFA-00AA00B6015C}
  23. */
  24. // can't include oaidl.h, so this will have to do
  25. //
  26. #define DISPID_NEWENUM -4
  27. //=--------------------------------------------------------------------------=
  28. // the libid for this type libray
  29. //
  30. [
  31. uuid(CC0918E0-EFE5-11cf-A044-00AA00B6015C),
  32. helpstring("Active Setup Control Library"),
  33. lcid(0x0000),
  34. version(1.0)
  35. ]
  36. library ASControls
  37. {
  38. // standard imports
  39. //
  40. importlib("STDOLE2.TLB");
  41. // primary dispatch interface for InstallEngine control
  42. //
  43. [
  44. uuid(6E449682-C509-11CF-AAFA-00AA00B6015C),
  45. helpstring("Primary dispatch for Install Engine"),
  46. hidden,
  47. dual,
  48. odl
  49. ]
  50. interface IInstallEngineCtl : IDispatch
  51. {
  52. // properties
  53. //
  54. [id(DISPID_READYSTATE), propget]
  55. HRESULT ReadyState([out, retval] long * thestate);
  56. [id(DISPID_ENGINESTATUS), propget]
  57. HRESULT EngineStatus([out, retval] long * theenginestatus);
  58. [id(DISPID_CIFFILE)]
  59. HRESULT SetCifFile([in] BSTR strCabName, [in] BSTR strCifName);
  60. [id(DISPID_BASEURL), propput]
  61. HRESULT BaseUrl([in] BSTR strBaseUrl);
  62. [id(DISPID_DOWNLOADDIR), propput]
  63. HRESULT DownloadDir([in] BSTR strDownloadDir);
  64. [id(DISPID_NAME), propget]
  65. HRESULT DisplayName([in] BSTR ComponentID, [out, retval] BSTR *name);
  66. [id(DISPID_SIZE), propget]
  67. HRESULT Size([in] BSTR ComponentID, [out, retval] long * thestate);
  68. [id(DISPID_TOTALSIZE), propget]
  69. HRESULT TotalDownloadSize([out, retval] long * totalsize);
  70. [id(DISPID_DEPENDENCYSIZE), propget]
  71. HRESULT TotalDependencySize([out, retval] long * totaldepsize);
  72. // methods
  73. [id(DISPID_SETACTION)]
  74. HRESULT SetAction([in] BSTR ComponentID, [in] long lAction, [out, retval] long *lResult);
  75. [id(DISPID_ISCOMPONENTINSTALLED)]
  76. HRESULT IsComponentInstalled([in] BSTR ComponentID, [out, retval] long *lResult);
  77. [id(DISPID_PROCESSCOMPONENTS)]
  78. HRESULT ProcessComponents([in] long lFlag);
  79. [id(DISPID_ABORT)]
  80. HRESULT Abort([in] long lFlag);
  81. [id(DISPID_FINALIZEINSTALL)]
  82. HRESULT FinalizeInstall([in] long lFlag);
  83. [id(DISPID_HANDLEENGINEPROBLEM)]
  84. HRESULT HandleEngineProblem([in] long dwAction);
  85. [id(DISPID_CHECKFREESPACE)]
  86. HRESULT CheckFreeSpace([in] long lPad, [out, retval] long *lEnough);
  87. [id(DISPID_SETLOCALCIF)]
  88. HRESULT SetLocalCif([in] BSTR strCif, [out, retval] long *lResult);
  89. [id(DISPID_SETSITESFILE)]
  90. HRESULT SetSitesFile([in] BSTR strUrl, [in] BSTR strRegion, [in] BSTR strLocale, [out, retval] long *lResult);
  91. };
  92. // event interface for InstallEngine controls ...
  93. //
  94. [
  95. uuid(6E449681-C509-11CF-AAFA-00AA00B6015C),
  96. helpstring("Event interface for Install Engine Ctl"),
  97. hidden
  98. ]
  99. dispinterface DInstallEngineCtlEvents
  100. {
  101. properties:
  102. methods:
  103. [id(DISPID_READYSTATECHANGE)]
  104. void OnReadyStateChange([in] long newState);
  105. [id(DISPID_PROGRESS)]
  106. void OnProgress([in] long percentDone);
  107. [id(DISPID_ENGINESTATUSCHANGE)]
  108. void OnEngineStatusChange([in] long newEngineStatus, [in] long substatus);
  109. [id(DISPID_ONSTARTINSTALL)]
  110. void OnStartInstall([in] long lTotalSize);
  111. [id(DISPID_ONSTARTCOMPONENT)]
  112. void OnStartComponent([in] BSTR strID, [in] long lTotalSize, [in] BSTR strName);
  113. [id(DISPID_ONSTOPCOMPONENT)]
  114. void OnStopComponent([in] BSTR strID, [in] long lResult, [in] long lPhase, [in] BSTR strName, [in] long lStatus);
  115. [id(DISPID_ONSTOPINSTALL)]
  116. void OnStopInstall([in] long lResult, [in] BSTR strString, [in] long lStatus);
  117. [id(DISPID_ONENGINEPROBLEM)]
  118. void OnEngineProblem([in] long lProblem);
  119. [id(DISPID_ONCHECKFREESPACE)]
  120. void OnCheckFreeSpace([in] BSTR chWin, [in] long dwWin, [in] BSTR chInstall, [in] long dwInstall, [in] BSTR chDL, [in] long dwDL);
  121. [id(DISPID_ONCOMPONENTPROGRESS)]
  122. void OnComponentProgress([in] BSTR strID, [in] long lPhase, [in] BSTR strName, [in] BSTR strString, [in] long lSoFar, [in] long lTotal);
  123. [id(DISPID_ONSTARTINSTALLEX)]
  124. void OnStartInstallEx([in] long lTotalDLSize, [in] long lTotalInsSize);
  125. };
  126. // coclass for Install Engine controls
  127. //
  128. [
  129. uuid(6E449683-C509-11CF-AAFA-00AA00B6015C),
  130. helpstring("Install Engine Ctl")
  131. ]
  132. coclass InstallEngineCtl
  133. {
  134. [default] interface IInstallEngineCtl;
  135. [default, source] dispinterface DInstallEngineCtlEvents;
  136. };
  137. };