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.

243 lines
9.5 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows Media Technologies
  4. // Copyright (C) Microsoft Corporation. All rights reserved.
  5. //
  6. // File: event.idl
  7. //
  8. // Contents:
  9. //
  10. //--------------------------------------------------------------------------
  11. cpp_quote("//+-------------------------------------------------------------------------")
  12. cpp_quote("//")
  13. cpp_quote("// Microsoft Windows Media Technologies")
  14. cpp_quote("// Copyright (C) Microsoft Corporation. All rights reserved.")
  15. cpp_quote("//")
  16. cpp_quote("// Automatically generated by Midl from event.idl")
  17. cpp_quote("//")
  18. cpp_quote("// DO NOT EDIT THIS FILE.")
  19. cpp_quote("//")
  20. cpp_quote("//--------------------------------------------------------------------------")
  21. cpp_quote("#if _MSC_VER > 1000")
  22. cpp_quote("#pragma once")
  23. cpp_quote("#endif // _MSC_VER > 1000")
  24. import "oaidl.idl";
  25. import "WMSContext.idl";
  26. import "WMSEvent.idl";
  27. cpp_quote( "EXTERN_GUID( IID_IWMSEventNotificationPlugin , 0xBE185FF0,0x6932,0x11d2,0x8B,0x3B,0x00,0x60,0x97,0xB0,0x12,0x06 );" )
  28. cpp_quote( "EXTERN_GUID( IID_IWMSEventAuthorizationPlugin , 0xBE185FF1,0x6932,0x11d2,0x8B,0x3B,0x00,0x60,0x97,0xB0,0x12,0x06 );" )
  29. cpp_quote( "EXTERN_GUID( IID_IWMSEventAuthorizationCallback , 0xBE185FF2,0x6932,0x11d2,0x8B,0x3B,0x00,0x60,0x97,0xB0,0x12,0x06 );" )
  30. cpp_quote( "EXTERN_GUID( IID_IWMSCustomEventCallback , 0x8fbd4d04,0x970d,0x4d37,0xbb,0xc6,0x6f,0xbb,0xb7,0x4e,0xac,0x9d );" )
  31. interface IWMSEventNotificationPlugin;
  32. interface IWMSEventAuthorizationPlugin;
  33. interface IWMSEventAuthorizationCallback;
  34. typedef [public] enum WMS_SERVER_EVENT_TYPE
  35. {
  36. WMS_EVENT_SERVER_ONLINE = 0,
  37. WMS_EVENT_SERVER_OFFLINE = 1,
  38. WMS_EVENT_SERVER_CRITICAL_ERROR = 2,
  39. WMS_EVENT_SERVER_PROPERTY_CHANGE = 3,
  40. WMS_EVENT_SERVER_ALLOW_CLIENTS_TO_CONNECT_CHANGE = 4,
  41. WMS_EVENT_SERVER_PLUGIN_LOAD_TYPE_CHANGE = 5,
  42. WMS_EVENT_SERVER_REVERSE_PROXY_MODE_CHANGE = 6,
  43. WMS_EVENT_SERVER_DOWNLOAD_START = 7,
  44. WMS_EVENT_SERVER_DOWNLOAD_COMPLETE = 8,
  45. [hidden] WMS_NUM_SERVER_EVENTS = 9
  46. } WMS_SERVER_EVENT_TYPE;
  47. typedef [public] enum WMS_PUBLISHING_POINT_EVENT_TYPE
  48. {
  49. WMS_EVENT_PUBLISHING_POINT_ADD = 0,
  50. WMS_EVENT_PUBLISHING_POINT_REMOVE = 1,
  51. WMS_EVENT_PUBLISHING_POINT_ALLOW_CLIENTS_TO_CONNECT_CHANGE = 2,
  52. WMS_EVENT_PUBLISHING_POINT_START_WITHOUT_DATA = 3,
  53. WMS_EVENT_PUBLISHING_POINT_START = 4,
  54. WMS_EVENT_PUBLISHING_POINT_STOP = 5,
  55. WMS_EVENT_PUBLISHING_POINT_START_ARCHIVE = 6,
  56. WMS_EVENT_PUBLISHING_POINT_STOP_ARCHIVE = 7,
  57. WMS_EVENT_PUBLISHING_POINT_NAME_CHANGE = 8,
  58. WMS_EVENT_PUBLISHING_POINT_PATH_CHANGE = 9,
  59. WMS_EVENT_PUBLISHING_POINT_ALLOW_CLIENT_TO_START_AND_STOP_CHANGE = 10,
  60. WMS_EVENT_PUBLISHING_POINT_PROPERTY_CHANGE = 11,
  61. WMS_EVENT_PUBLISHING_POINT_WRAPPER_PATH_CHANGE = 12,
  62. WMS_EVENT_PUBLISHING_POINT_ENABLE_WRAPPER_PATH_CHANGE = 13,
  63. WMS_EVENT_PUBLISHING_POINT_ALLOW_CONTENT_CACHING_CHANGE = 14,
  64. WMS_EVENT_PUBLISHING_POINT_STREAM_END = 15,
  65. WMS_EVENT_PUBLISHING_POINT_CRITICAL_ERROR = 16,
  66. WMS_EVENT_PUBLISHING_POINT_ENABLE_CLIENT_WILDCARD_DIRECTORY_ACCESS_CHANGE = 17,
  67. WMS_EVENT_PUBLISHING_POINT_DISTRIBUTION_USER_NAME_CHANGE = 18,
  68. WMS_EVENT_PUBLISHING_POINT_DISTRIBUTION_PASSWORD_CHANGE = 19,
  69. WMS_EVENT_PUBLISHING_POINT_ALLOW_PLAYER_SIDE_DISK_CACHING_CHANGE = 20,
  70. WMS_EVENT_PUBLISHING_POINT_BUFFER_SETTING_CHANGE = 21,
  71. WMS_EVENT_PUBLISHING_POINT_ENABLE_FEC_CHANGE = 22,
  72. [hidden] WMS_NUM_PUBLISHINGPOINT_EVENTS = 23
  73. } WMS_PUBLISHING_POINT_EVENT_TYPE;
  74. typedef [public] enum WMS_LIMIT_CHANGE_EVENT_TYPE
  75. {
  76. WMS_EVENT_LIMIT_CHANGE_CONNECTED_PLAYERS = 0,
  77. WMS_EVENT_LIMIT_CHANGE_PLAYER_BANDWIDTH = 1,
  78. WMS_EVENT_LIMIT_CHANGE_PLAYER_CONNECTION_BANDWIDTH = 2,
  79. WMS_EVENT_LIMIT_CHANGE_DISTRIBUTION_CONNECTIONS = 3,
  80. WMS_EVENT_LIMIT_CHANGE_PLAYER_INACTIVITY_TIMEOUT = 4,
  81. WMS_EVENT_LIMIT_CHANGE_PLAYER_ACKNOWLEDGEMENT_TIMEOUT = 5,
  82. WMS_EVENT_LIMIT_CHANGE_CONNECTION_RATE = 6,
  83. WMS_EVENT_LIMIT_CHANGE_CPU_UTILIZATION_DURING_CONNECTION = 7,
  84. WMS_EVENT_LIMIT_CHANGE_DISTRIBUTION_BANDWIDTH = 8,
  85. WMS_EVENT_LIMIT_CHANGE_DISTRIBUTION_CONNECTION_BANDWIDTH = 9,
  86. WMS_EVENT_LIMIT_CHANGE_DIAGNOSTIC_EVENTS = 10,
  87. WMS_EVENT_LIMIT_CHANGE_PLAYER_CACHE_DELIVERY_RATE = 11,
  88. WMS_EVENT_LIMIT_CHANGE_FEC_PACKET_SPAN = 12,
  89. WMS_EVENT_LIMIT_CHANGE_INCOMING_BANDWIDTH = 13,
  90. [hidden] WMS_NUM_LIMIT_CHANGE_EVENTS = 14
  91. } WMS_LIMIT_CHANGE_EVENT_TYPE;
  92. typedef [public] enum WMS_LIMIT_HIT_EVENT_TYPE
  93. {
  94. WMS_EVENT_LIMIT_HIT_CONNECTED_PLAYERS = 0,
  95. WMS_EVENT_LIMIT_HIT_PLAYER_BANDWIDTH = 1,
  96. WMS_EVENT_LIMIT_HIT_PLAYER_CONNECTION_BANDWIDTH = 2,
  97. WMS_EVENT_LIMIT_HIT_DISTRIBUTION_CONNECTIONS = 3,
  98. WMS_EVENT_LIMIT_HIT_PLAYER_INACTIVITY_TIMEOUT = 4,
  99. WMS_EVENT_LIMIT_HIT_PLAYER_ACKNOWLEDGEMENT_TIMEOUT = 5,
  100. WMS_EVENT_LIMIT_HIT_CONNECTION_RATE = 6,
  101. WMS_EVENT_LIMIT_HIT_CPU_UTILIZATION_DURING_CONNECTION = 7,
  102. WMS_EVENT_LIMIT_HIT_DISTRIBUTION_BANDWIDTH = 8,
  103. WMS_EVENT_LIMIT_HIT_DISTRIBUTION_CONNECTION_BANDWIDTH = 9,
  104. WMS_EVENT_LIMIT_HIT_INCOMING_BANDWIDTH = 10,
  105. [hidden] WMS_NUM_LIMIT_HIT_EVENTS = 11
  106. } WMS_LIMIT_HIT_EVENT_TYPE;
  107. typedef [public] enum WMS_PLUGIN_EVENT_TYPE
  108. {
  109. WMS_EVENT_PLUGIN_ADD = 0,
  110. WMS_EVENT_PLUGIN_REMOVE = 1,
  111. WMS_EVENT_PLUGIN_ENABLE = 2,
  112. WMS_EVENT_PLUGIN_DISABLE = 3,
  113. WMS_EVENT_PLUGIN_PROPERTY_CHANGE = 4,
  114. WMS_EVENT_PLUGIN_ERROR = 5,
  115. WMS_EVENT_PLUGIN_NAME_CHANGE = 6,
  116. WMS_EVENT_PLUGIN_LOAD_TYPE_CHANGE = 7,
  117. WMS_EVENT_PLUGIN_SELECTION_ORDER_CHANGE = 8,
  118. [hidden] WMS_NUM_PLUGIN_EVENTS = 9
  119. } WMS_PLUGIN_EVENT_TYPE;
  120. typedef [public] enum WMS_CACHE_EVENT_TYPE
  121. {
  122. WMS_EVENT_CACHE_HIT = 0,
  123. WMS_EVENT_CACHE_MISS = 1,
  124. WMS_EVENT_CACHE_DOWNLOAD_START = 2,
  125. WMS_EVENT_CACHE_DOWNLOAD_COMPLETE = 3,
  126. WMS_EVENT_CACHE_REDIRECT = 4,
  127. WMS_EVENT_CACHE_REDIRECT_TO_PROXY = 5,
  128. WMS_EVENT_CACHE_PRESTUFF_COMPLETE = 6,
  129. [hidden] WMS_NUM_CACHE_EVENTS = 7
  130. } WMS_CACHE_EVENT_TYPE;
  131. typedef [public] enum WMS_PLAYLIST_EVENT_TYPE
  132. {
  133. WMS_EVENT_PLAYLIST_SWITCH = 0,
  134. WMS_EVENT_PLAYLIST_CUE = 1,
  135. WMS_EVENT_PLAYLIST_MODIFY = 2,
  136. WMS_EVENT_PLAYLIST_FAILOVER = 3,
  137. [hidden] WMS_NUM_PLAYLIST_EVENTS = 4
  138. } WMS_PLAYLIST_EVENT_TYPE;
  139. typedef [public] enum WMS_RECORD_PROGRESS_OPCODE
  140. {
  141. WMS_RECORD_PROGRESS_ARCHIVE_STARTED = 0,
  142. WMS_RECORD_PROGRESS_ARCHIVE_FINISHED = 1,
  143. } WMS_RECORD_PROGRESS_OPCODE;
  144. /////////////////////////////////////////////////////////////////////////////
  145. //
  146. //
  147. /////////////////////////////////////////////////////////////////////////////
  148. [
  149. object,
  150. uuid(BE185FF0-6932-11d2-8B3B-006097B01206),
  151. version(9.0),
  152. pointer_default(unique),
  153. helpstring("Provides methods to retrieve the notification events that a plug-in subscribes to and to indicate when these events are fired.")
  154. ]
  155. interface IWMSEventNotificationPlugin : IUnknown
  156. {
  157. //
  158. // Find out which event types this plugin is interested in.
  159. //
  160. [helpstring("Called by the server to retrieve the events that a plug-in subscribes to.")] HRESULT
  161. GetHandledEvents( [out, retval] VARIANT *pvarEvents );
  162. //
  163. // Called by the server when one of the event types that this plugin
  164. // is interested in occurs. If the plugin needs to do a significant
  165. // amount of work to process an event, it should not do so during this call!
  166. //
  167. [helpstring("Called by the server to signals that an event subscribed to by the plug-in has occurred.")] HRESULT
  168. OnEvent(
  169. [in] WMS_EVENT *pEvent,
  170. [in] IWMSContext *pUserCtx,
  171. [in] IWMSContext *pPresentationCtx,
  172. [in] IWMSCommandContext *pCommandCtx );
  173. };
  174. ///////////////////////////////////////////////////////////////////////////////
  175. [
  176. object,
  177. uuid(BE185FF1-6932-11d2-8B3B-006097B01206),
  178. version(9.0),
  179. pointer_default(unique),
  180. helpstring("Provides methods to retrieve the authorization events that a plugin subscribes to and to indicate when these events are fired.")
  181. ]
  182. interface IWMSEventAuthorizationPlugin : IUnknown
  183. {
  184. //
  185. // Find out which event types this plugin authorizes
  186. //
  187. [helpstring("Called by the server to retrieve an array of the events that the plug-in can authorize.")] HRESULT
  188. GetAuthorizedEvents( [out, retval] VARIANT *pvarEvents );
  189. //
  190. // Called by the server when one of the event types this plugin
  191. // authorizes occurs. The server waits for a completion callback
  192. // before continuing.
  193. //
  194. [helpstring("Called by the server to request that a specific event be authorized.")] HRESULT
  195. AuthorizeEvent(
  196. [in] WMS_EVENT *pEvent,
  197. [in] IWMSContext *pUserCtx,
  198. [in] IWMSContext *pPresentationCtx,
  199. [in] IWMSCommandContext *pCommandCtx,
  200. [in] IWMSEventAuthorizationCallback *pCallback,
  201. [in] VARIANT Context );
  202. };
  203. /////////////////////////////////////////////////////////////////////////////
  204. [
  205. object,
  206. uuid(BE185FF2-6932-11d2-8B3B-006097B01206),
  207. version(9.0),
  208. pointer_default(unique),
  209. helpstring("Provides a method to report the results of an event authorization.")
  210. ]
  211. interface IWMSEventAuthorizationCallback : IUnknown
  212. {
  213. [helpstring("Called by a plug-in to return the result of the IWMSEventAuthorization::AuthorizeEvent method call.")] HRESULT
  214. OnAuthorizeEvent(
  215. [in] long hr,
  216. [in] VARIANT Context );
  217. };