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.

223 lines
8.2 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright 1995-1998 Microsoft Corporation. All Rights Reserved.
  5. //
  6. //--------------------------------------------------------------------------
  7. #ifndef DO_NO_IMPORTS
  8. import "unknwn.idl";
  9. #endif
  10. import "subsmgr.idl";
  11. cpp_quote("// Private File")
  12. cpp_quote("// This file is not included in the Internet SDK")
  13. cpp_quote("// Use subsmgr headers for public interfaces")
  14. cpp_quote("extern const GUID CLSID_SubscriptionThrottler;")
  15. // ================================
  16. // Marshalled, private interfaces
  17. // ================================
  18. // ISubscriptionThrottler
  19. [
  20. uuid(1E9B00E4-9846-11d1-A1EE-00C04FC2FBE1)
  21. ]
  22. interface ISubscriptionThrottler : IUnknown
  23. {
  24. HRESULT GetSubscriptionRunState([in] DWORD dwNumCookies,
  25. [in, size_is(dwNumCookies)] const SUBSCRIPTIONCOOKIE *pCookies,
  26. [out, size_is(dwNumCookies)] DWORD *pdwRunState);
  27. HRESULT AbortItems([in] DWORD dwNumCookies,
  28. [in, size_is(dwNumCookies)] const SUBSCRIPTIONCOOKIE *pCookies);
  29. HRESULT AbortAll();
  30. }
  31. cpp_quote("extern const IID CLSID_WebCheckDefaultProcess; ")
  32. //
  33. // Next UUIDs are needed for UNIX as we use IE40 webcheck
  34. // with IE5 iedev/inc there.
  35. //
  36. #ifdef UNIX
  37. cpp_quote("EXTERN_C const CLSID CLSID_OfflineTrayAgent;")
  38. cpp_quote("EXTERN_C const CLSID CLSID_ConnectionAgent;")
  39. #endif
  40. cpp_quote("// Subscription Notifications ")
  41. cpp_quote("// To register your IOleCommandTarget for notifications: ")
  42. cpp_quote("// ")
  43. cpp_quote("// Add your handler under: ")
  44. cpp_quote("// HKLM\Software\Microsoft\Windows\CurrentVersion\Webcheck\Notification Handlers ")
  45. cpp_quote("// as DWORD values with a mask specifying which SUBSNOTF_* ")
  46. cpp_quote("// events you care about. ")
  47. cpp_quote("// ")
  48. cpp_quote("// So the Exec call will look like: ")
  49. cpp_quote("// ")
  50. cpp_quote("// pCmdTarget->Exec(&CLSID_SubscriptionMgr, ")
  51. cpp_quote("// nCmdID, ")
  52. cpp_quote("// 0, ")
  53. cpp_quote("// &varSubsCookie, ")
  54. cpp_quote("// NULL); ")
  55. cpp_quote("// ")
  56. cpp_quote("// ")
  57. cpp_quote("#define SUBSNOTF_CREATE 0x00000001")
  58. cpp_quote("#define SUBSNOTF_DELETE 0x00000002")
  59. cpp_quote("#define SUBSNOTF_SYNC_START 0x00000004")
  60. cpp_quote("#define SUBSNOTF_SYNC_STOP 0x00000008")
  61. //
  62. // ==================================================
  63. // Non-marshalled, private interfaces (.TLB not used)
  64. // ==================================================
  65. [
  66. uuid(10BD2E25-F235-11CF-B5DD-00A0C90348EC), // LIBID_WebCheck
  67. helpstring("Microsoft WebCheck 1.00"),
  68. lcid(0x0000),
  69. version(0.70)
  70. ]
  71. library WebCheck
  72. {
  73. // ISubscription* interfaces for IE5 delivery agents
  74. [
  75. uuid(A89E8FF0-70F4-11d1-BC7F-00C04FD929DB)
  76. ]
  77. interface ISubscriptionAgentControl : IUnknown
  78. {
  79. enum SUBSCRIPTION_AGENT_CONTROL { SUBSCRIPTION_AGENT_DELETE=0x0001 };
  80. enum SUBSCRIPTION_AGENT_RESUME_FLAGS { SUBSCRIPTION_AGENT_RESUME_INCREASED_CACHE=0x0080 };
  81. HRESULT StartUpdate(IUnknown *pItem, IUnknown *punkAdvise);
  82. HRESULT PauseUpdate(DWORD dwFlags);
  83. HRESULT ResumeUpdate(DWORD dwFlags);
  84. HRESULT AbortUpdate(DWORD dwFlags);
  85. HRESULT SubscriptionControl(IUnknown *pItem, DWORD dwControl);
  86. }
  87. [
  88. uuid(81B184BA-B302-11d1-8552-00C04FA35C89)
  89. ]
  90. interface ISubscriptionAgentShellExt : IUnknown
  91. {
  92. HRESULT Initialize([in] SUBSCRIPTIONCOOKIE *pSubscriptionCookie, [in] LPCWSTR pwszURL,
  93. [in] LPCWSTR pwszName, [in] SUBSCRIPTIONTYPE subsType);
  94. HRESULT RemovePages([in] HWND hdlg);
  95. HRESULT SaveSubscription();
  96. HRESULT URLChange([in] LPCWSTR pwszNewURL);
  97. }
  98. [
  99. uuid(A89E8FF1-70F4-11d1-BC7F-00C04FD929DB)
  100. ]
  101. interface ISubscriptionAgentEvents : IUnknown
  102. {
  103. HRESULT UpdateBegin(const SUBSCRIPTIONCOOKIE *pSubscriptionCookie);
  104. HRESULT UpdateProgress(const SUBSCRIPTIONCOOKIE *pSubscriptionCookie, long lSizeDownloaded,
  105. long lProgressCurrent, long lProgressMax,
  106. HRESULT hrStatus, LPCWSTR wszStatus);
  107. HRESULT UpdateEnd(const SUBSCRIPTIONCOOKIE *pSubscriptionCookie, long lSizeDownloaded,
  108. HRESULT hrResult, LPCWSTR wszResult);
  109. HRESULT ReportError(const SUBSCRIPTIONCOOKIE *pSubscriptionCookie, HRESULT hrError, LPCWSTR wszError);
  110. };
  111. [
  112. uuid(D66B399E-AF1D-11d1-A1F9-00C04FC2FBE1)
  113. ]
  114. interface ISubscriptionMgrPriv : IUnknown
  115. {
  116. HRESULT CreateSubscriptionItem([in] const SUBSCRIPTIONITEMINFO *pSubscriptionItemInfo,
  117. [out] SUBSCRIPTIONCOOKIE *pNewCookie,
  118. [out] ISubscriptionItem **ppSubscriptionItem);
  119. HRESULT CloneSubscriptionItem([in] ISubscriptionItem *pSubscriptionItem,
  120. [out] SUBSCRIPTIONCOOKIE *pNewCookie,
  121. [out] ISubscriptionItem **ppSubscriptionItem);
  122. HRESULT DeleteSubscriptionItem([in] const SUBSCRIPTIONCOOKIE *pCookie);
  123. HRESULT RemovePages([in] HWND hdlg);
  124. HRESULT SaveSubscription();
  125. HRESULT URLChange(LPCWSTR pwszNewURL);
  126. };
  127. importlib("stdole2.tlb");
  128. //---------------------------------------------------------------
  129. // Webcheck Core
  130. //---------------------------------------------------------------
  131. // Webcheck class
  132. [
  133. uuid(E6FB5E20-DE35-11CF-9C87-00AA005127ED), // CLSID_WebCheck
  134. helpstring("WebCheck class"),
  135. appobject
  136. ]
  137. coclass WebCheck
  138. {
  139. [default] interface IUnknown;
  140. }
  141. // Webcrawler object
  142. [
  143. uuid(08165EA0-E946-11CF-9C87-00AA005127ED)
  144. ]
  145. coclass WebCrawlerAgent
  146. {
  147. [default] interface IUnknown;
  148. }
  149. // Channel Agent object
  150. [
  151. uuid(E3A8BDE6-ABCE-11d0-BC4B-00C04FD929DB)
  152. ]
  153. coclass ChannelAgent
  154. {
  155. [default] interface IUnknown;
  156. }
  157. //---------------------------------------------------------------
  158. // OneStop support object
  159. //---------------------------------------------------------------
  160. [
  161. uuid(7FC0B86E-5FA7-11d1-BC7C-00C04FD929DB)
  162. ]
  163. coclass WebCheckOfflineSync
  164. {
  165. [default] interface IUnknown;
  166. }
  167. //---------------------------------------------------------------
  168. // Post Agent
  169. //---------------------------------------------------------------
  170. //
  171. // Post Agent Object
  172. //
  173. [
  174. uuid(d8bd2030-6fC9-11d0-864f-00aa006809d9), // CLSID_PostAgent
  175. ]
  176. coclass PostAgent
  177. {
  178. [default] interface IUnknown; // this should be INotificationSink
  179. }
  180. //---------------------------------------------------------------
  181. // Code Download Agent
  182. //---------------------------------------------------------------
  183. //
  184. // Code Download Agent Object
  185. //
  186. [
  187. uuid(7D559C10-9FE9-11d0-93F7-00AA0059CE02), // CLSID_CDLAgent
  188. helpstring("Code Download Agent Object")
  189. ]
  190. coclass CDLAgent
  191. {
  192. [default] interface IUnknown; // this should be INotificationSink
  193. }
  194. }