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.

659 lines
30 KiB

  1. //*****************************************************************************
  2. //
  3. // Microsoft Windows Media
  4. // Copyright (C) Microsoft Corporation. All rights reserved.
  5. //
  6. // FileName: wmsContextNames.h
  7. //
  8. // Abstract:
  9. //
  10. //*****************************************************************************
  11. #ifndef _WMS_CONTEXT_NAMES_h_
  12. #define _WMS_CONTEXT_NAMES_h_
  13. enum CONTEXT_NAME_TYPE
  14. {
  15. WMS_UNKNOWN_CONTEXT_NAME_TYPE = 0,
  16. WMS_SERVER_CONTEXT_NAME_TYPE,
  17. WMS_USER_CONTEXT_NAME_TYPE,
  18. WMS_PRESENTATION_CONTEXT_NAME_TYPE,
  19. WMS_COMMAND_CONTEXT_NAME_TYPE,
  20. WMS_TRANSPORT_CONTEXT_NAME_TYPE,
  21. WMS_CONTENT_DESCRIPTION_CONTEXT_NAME_TYPE,
  22. WMS_PACKETIZER_CONTEXT_NAME_TYPE,
  23. WMS_CACHE_CONTENT_INFORMATION_CONTEXT_NAME_TYPE,
  24. WMS_ARCHIVE_CONTEXT_NAME_TYPE,
  25. WMS_NUM_CONTEXT_NAME_TYPES
  26. };
  27. //
  28. // The DEFINE_NAME macro is used for defining context names.
  29. //
  30. #define DEFINE_NAME( name, value ) \
  31. extern __declspec(selectany) LPCWSTR name = L ## value;
  32. //
  33. // The DEFINE_HINT macro is used to declare a "hint" that can be used with
  34. // the methods in IWMSContext that use hint values.
  35. //
  36. #define DEFINE_HINT( name, value ) \
  37. enum { name = value };
  38. #if BUILD_HINT_TO_NAME_TABLES
  39. // BUILD_HINT_TO_NAME_TABLES should not be defined; it is used internally
  40. // by the WMSServer to initialize internal tables.
  41. void MapContextHintToName( DWORD dwContextType, LPCWSTR szwName, long dwHint );
  42. // This class lets us run some code when we declare a variable.
  43. class CContextNamesTableInitializer
  44. {
  45. public:
  46. CContextNamesTableInitializer( DWORD dwContextType, LPCWSTR szwName, long dwHint )
  47. {
  48. MapContextHintToName( dwContextType, szwName, dwHint );
  49. }
  50. };
  51. #define DEFINE_NAME_AND_HINT( name, value, id ) \
  52. DEFINE_NAME( name, value ) \
  53. DEFINE_HINT( name ## _ID, id ) \
  54. CContextNamesTableInitializer name ## _Decl( CURRENT_CONTEXT_TYPE, name, id );
  55. #else
  56. #define DEFINE_NAME_AND_HINT( name, value, id ) \
  57. DEFINE_NAME( name, value ) \
  58. DEFINE_HINT( name ## _ID, id )
  59. #endif // BUILD_HINT_TO_NAME_TABLES
  60. /////////////////////////////////////////////////////////////////////////////
  61. //
  62. // SERVER CONTEXT
  63. //
  64. /////////////////////////////////////////////////////////////////////////////
  65. #undef CURRENT_CONTEXT_TYPE
  66. #define CURRENT_CONTEXT_TYPE WMS_SERVER_CONTEXT_NAME_TYPE
  67. // Type: String
  68. // Description: This is the server's domain name.
  69. DEFINE_NAME_AND_HINT( WMS_SERVER_DOMAIN_NAME, "WMS_SERVER_DOMAIN_NAME", 3 )
  70. // Type: Long
  71. // Description: This is the major version of the server. The format of the version number
  72. // is as follows: major.minor.minor-minor.build.
  73. DEFINE_NAME_AND_HINT( WMS_SERVER_VERSION_MAJOR, "WMS_SERVER_VERSION_MAJOR", 4 )
  74. // Type: Long
  75. // Description: This is the minor version of the server. The format of the version number
  76. // is as follows: major.minor.minor-minor.build.
  77. DEFINE_NAME_AND_HINT( WMS_SERVER_VERSION_MINOR, "WMS_SERVER_VERSION_MINOR", 5 )
  78. // Type: Long
  79. // Description: This is the minor-minor version of the server. The format of the version number
  80. // is as follows: major.minor.minor-minor.build.
  81. DEFINE_NAME_AND_HINT( WMS_SERVER_VERSION_MINOR_MINOR, "WMS_SERVER_VERSION_MINOR_MINOR", 6 )
  82. // Type: IDispatch
  83. // Description: This is the pointer to the IWMSServer object.
  84. DEFINE_NAME_AND_HINT( WMS_SERVER, "WMS_SERVER", 7 )
  85. // Type: IDispatch
  86. // Description: This is the pointer to the IWMSEventLog object.
  87. DEFINE_NAME_AND_HINT( WMS_SERVER_EVENT_LOG, "WMS_SERVER_EVENT_LOG", 17 )
  88. // Type: Long
  89. // Description: This boolean is set to true when server is shutting down.
  90. DEFINE_NAME_AND_HINT( WMS_SERVER_SHUTTING_DOWN, "WMS_SERVER_SHUTTING_DOWN", 18 )
  91. // Type: IUnknown
  92. // Description: This is the pointer to the server's cache manager (IWMSCacheProxyServer) object.
  93. DEFINE_NAME_AND_HINT( WMS_SERVER_CACHE_MANAGER, "WMS_SERVER_CACHE_MANAGER", 19 )
  94. // Type: Long
  95. // Description: This is the build version of the server. The format of the version number
  96. // is as follows: major.minor.minor-minor.build.
  97. DEFINE_NAME_AND_HINT( WMS_SERVER_VERSION_BUILD, "WMS_SERVER_VERSION_BUILD", 26 )
  98. // Type: String
  99. // Description: This is the server's name.
  100. DEFINE_NAME_AND_HINT( WMS_SERVER_NAME, "WMS_SERVER_NAME", 27 )
  101. /////////////////////////////////////////////////////////////////////////////
  102. //
  103. // USER CONTEXT
  104. //
  105. /////////////////////////////////////////////////////////////////////////////
  106. #undef CURRENT_CONTEXT_TYPE
  107. #define CURRENT_CONTEXT_TYPE WMS_USER_CONTEXT_NAME_TYPE
  108. // Type: String
  109. // Description: This is the user agent for the client.
  110. DEFINE_NAME_AND_HINT( WMS_USER_AGENT, "WMS_USER_AGENT", 1 )
  111. // Type: String
  112. // Description: This identifies an instance of the player software. This GUID
  113. // is normally generated on the player when it is installed, although users
  114. // may explicitly conceal their GUID for privacy.
  115. DEFINE_NAME_AND_HINT( WMS_USER_GUID, "WMS_USER_GUID", 2 )
  116. // Type: String
  117. // Description: This is the user name for the client.
  118. DEFINE_NAME_AND_HINT( WMS_USER_NAME, "WMS_USER_NAME", 3 )
  119. // Type: Long
  120. // Description: This is the IP address for the client. This is a 32-bit number
  121. // in network byte order.
  122. DEFINE_NAME_AND_HINT( WMS_USER_IP_ADDRESS, "WMS_USER_IP_ADDRESS", 4 )
  123. // Type: String
  124. // Description: This is the IP address for the client. This is a string
  125. // (e.g "127.0.0.1" ). This string can also specify an IPv6 address.
  126. DEFINE_NAME_AND_HINT( WMS_USER_IP_ADDRESS_STRING, "WMS_USER_IP_ADDRESS_STRING", 5 )
  127. // Type: String
  128. // Description: This is the control protocol used to communicate with the client.
  129. // This may only be one of the values described below.
  130. DEFINE_NAME_AND_HINT( WMS_USER_CONTROL_PROTOCOL, "WMS_USER_CONTROL_PROTOCOL", 6 )
  131. // Values for the WMS_USER_CONTROL_PROTOCOL property.
  132. DEFINE_NAME( WMS_MMS_PROTOCOL_NAME, "MMS" )
  133. DEFINE_NAME( WMS_RTSP_PROTOCOL_NAME, "RTSP" )
  134. DEFINE_NAME( WMS_HTTP_PROTOCOL_NAME, "HTTP" )
  135. DEFINE_NAME( WMS_UNKNOWN_PROTOCOL_NAME,"UNKNOWN" )
  136. // Type: IUnknown
  137. // Description: This is the pointer to the user authentication context (IWMSAuthenticationContext) object.
  138. DEFINE_NAME_AND_HINT( WMS_USER_AUTHENTICATOR, "WMS_USER_AUTHENTICATOR", 7 )
  139. // Type: Long
  140. // Description: This is the identification number for the client.
  141. DEFINE_NAME_AND_HINT( WMS_USER_ID, "WMS_USER_ID", 8 )
  142. // Type: Long
  143. // Description: This is the remote port number in host byte order.
  144. DEFINE_NAME_AND_HINT( WMS_USER_PORT, "WMS_USER_PORT", 12 )
  145. // Type: IUnknown
  146. // Description: This is the current presentation context object (IWMSContext) for this client.
  147. DEFINE_NAME_AND_HINT( WMS_USER_PRESENTATION_CONTEXT, "WMS_USER_PRESENTATION_CONTEXT", 13 )
  148. // Type: Long
  149. // Description: This is the link bandwidth supplied by the client during the play command.
  150. DEFINE_NAME_AND_HINT( WMS_USER_LINK_BANDWIDTH, "WMS_USER_LINK_BANDWIDTH", 20 )
  151. // Type: String
  152. // Description: This is the referer URL for the client.
  153. DEFINE_NAME_AND_HINT( WMS_USER_REFERER, "WMS_USER_REFERER", 26 )
  154. // Type: String
  155. // Description: This specifies a comma delimited list of upstream proxy servers. This is taken from the "Via:" header.
  156. // For HTTP and RTSP, this is updated for each response received. For MMS, this is
  157. // never set, as this protocol does not support this header. The Via string will have this format:
  158. // "1.0 MSISA/3.0, HTTP/1.1 NetApp/2.1.2, RTSP/1.0 NSServer/9.0.0.200"
  159. DEFINE_NAME_AND_HINT( WMS_USER_VIA_UPSTREAM_PROXIES, "WMS_USER_VIA_UPSTREAM_PROXIES", 36 )
  160. // Type: String
  161. // Description: This Specifies a comma delimited list of downstream proxy servers. This is taken from the "Via:" header.
  162. // For HTTP and RTSP, this is updated for each request received. For MMS, this is
  163. // set only once when the LinkMacToViewerReportConnectedExMessage is received. The Vis string will have
  164. // this format: "1.0 MSISA/3.0, HTTP/1.1 NetApp/2.1.2, RTSP/1.0 NSServer/9.0.0.200"
  165. DEFINE_NAME_AND_HINT( WMS_USER_VIA_DOWNSTREAM_PROXIES, "WMS_USER_VIA_DOWNSTREAM_PROXIES", 37 )
  166. // Type: String
  167. // Description: This specifies the cookie sent by the client to the proxy.
  168. // The server will propagate this cookie upstream.
  169. DEFINE_NAME_AND_HINT( WMS_USER_CACHE_CLIENT_COOKIE, "WMS_USER_CACHE_CLIENT_COOKIE", 45 )
  170. // Type: String
  171. // Description: This specifies the value of the "Set-Cookie" headers sent by the
  172. // upstream server to the proxy. The server will propagate this value downstream.
  173. DEFINE_NAME_AND_HINT( WMS_USER_CACHE_SERVER_COOKIE, "WMS_USER_CACHE_SERVER_COOKIE", 46 )
  174. // Type: String
  175. // Description: This is the user agent of the original requesting client. When a WMS Cache/Proxy server
  176. // connects to an origin server it will provide the original client's user agent in the header.
  177. // This value is stored here so that the appropriate limits and actions can be applied based on the
  178. // original client type i.e. player vs server.
  179. DEFINE_NAME_AND_HINT( WMS_USER_PROXY_CLIENT_AGENT, "WMS_USER_PROXY_CLIENT_AGENT", 47 )
  180. /////////////////////////////////////////////////////////////////////////////
  181. //
  182. // PRESENTATION CONTEXT
  183. //
  184. /////////////////////////////////////////////////////////////////////////////
  185. #undef CURRENT_CONTEXT_TYPE
  186. #define CURRENT_CONTEXT_TYPE WMS_PRESENTATION_CONTEXT_NAME_TYPE
  187. // Type: IUnknown
  188. // Description: This is the pointer to an IWMSStreamHeaderList object.
  189. DEFINE_NAME_AND_HINT( WMS_PRESENT_STREAM_HEADERS, "WMS_PRESENT_STREAM_HEADERS", 2)
  190. // Type: IUnknown
  191. // Description: This is the pointer to an IWMSContentDescriptionList object.
  192. DEFINE_NAME_AND_HINT( WMS_PRESENT_CONTENT_DESCRIPTION,"WMS_PRESENT_CONTENT_DESCRIPTION", 3 )
  193. // Type: String
  194. // Description: This is the physical URL that is retrieved after the URL requested by a client
  195. // is resolved to a publishing point.
  196. DEFINE_NAME_AND_HINT( WMS_PRESENT_PHYSICAL_NAME, "WMS_PRESENT_PHYSICAL_NAME", 4 )
  197. // Type: String
  198. // Description: This is the URL requested by the client.
  199. DEFINE_NAME_AND_HINT( WMS_PRESENT_REQUEST_NAME, "WMS_PRESENT_REQUEST_NAME", 5 )
  200. // Type: Long
  201. // Description: This specifies if the multimedia stream is a broadcast stream. This is a flag
  202. // with a value of 1 for TRUE and 0 for FALSE.
  203. DEFINE_NAME_AND_HINT( WMS_PRESENT_BROADCAST, "WMS_PRESENT_BROADCAST", 6 )
  204. // Type: Long
  205. // Description: This specifies if the multimedia stream supports seeking to a specific time offset.
  206. // This is a flag. Its value is 1 for True and 0 for False.
  207. DEFINE_NAME_AND_HINT( WMS_PRESENT_SEEKABLE, "WMS_PRESENT_SEEKABLE", 7 )
  208. // Type: Long
  209. // Description: This specifies if the multimedia stream should be carried over a reliable data communications
  210. // transport mechanism. This is a flag. Its value is 1 for True and 0 for False.
  211. DEFINE_NAME_AND_HINT( WMS_PRESENT_RELIABLE, "WMS_PRESENT_RELIABLE", 8 )
  212. // Type: Long
  213. // Description: This is the maximum instantaneous bit rate for the current multimedia stream
  214. // being sent to the client.
  215. DEFINE_NAME_AND_HINT( WMS_PRESENT_BITRATE, "WMS_PRESENT_BITRATE", 11 )
  216. // Type: Long
  217. // Description: This is the high-order 32 bits of a 64 bit integer indicating the time needed
  218. // to play the multimedia stream in milliseconds.
  219. DEFINE_NAME_AND_HINT( WMS_PRESENT_DURATION_HI, "WMS_PRESENT_DURATION_HI", 12 )
  220. // Type: Long
  221. // Description: This is the low-order 32 bits of a 64 bit integer indicating the time needed
  222. // to play the multimedia stream in milliseconds.
  223. DEFINE_NAME_AND_HINT( WMS_PRESENT_DURATION_LO, "WMS_PRESENT_DURATION_LO", 13 )
  224. // Type: Long
  225. // Description: This is the play rate for the multimedia stream.
  226. DEFINE_NAME_AND_HINT( WMS_PRESENT_PLAY_RATE, "WMS_PRESENT_PLAY_RATE", 14 )
  227. // Type: QWORD
  228. // Description: This is the start time of the play request in milliseconds.
  229. // This might not be present in all play requests.
  230. DEFINE_NAME_AND_HINT( WMS_PRESENT_START_TIME, "WMS_PRESENT_START_TIME", 15 )
  231. // Type: String
  232. // Description: This is the physical URL that is retrieved after the URL requested by a client
  233. // is resolved to a publishing point. This is the physical URL before a physical URL transform is performed.
  234. DEFINE_NAME_AND_HINT( WMS_PRESENT_ORIGINAL_PHYSICAL_NAME, "WMS_PRESENT_ORIGINAL_PHYSICAL_NAME", 16 )
  235. // Type: String
  236. // Description: This is the original URL requested by the client before a logical URL transform is performed.
  237. DEFINE_NAME_AND_HINT( WMS_PRESENT_ORIGINAL_REQUEST_NAME, "WMS_PRESENT_ORIGINAL_REQUEST_NAME", 17 )
  238. // Type: Long
  239. // Description: This is the high-order 32 bits of a 64 bit integer indicating the total number of bytes
  240. // that have been sent to the client.
  241. DEFINE_NAME_AND_HINT( WMS_PRESENT_TOTAL_BYTES_SENT_HI, "WMS_PRESENT_TOTAL_BYTES_SENT_HI", 18 )
  242. // Type: Long
  243. // Description: This is the low-order 32 bits of a 64 bit integer indicating the total number of bytes
  244. // that have been sent to the client.
  245. DEFINE_NAME_AND_HINT( WMS_PRESENT_TOTAL_BYTES_SENT_LO, "WMS_PRESENT_TOTAL_BYTES_SENT_LO", 19 )
  246. // Type: Long
  247. // Description: This is the high-order 32 bits of a 64 bit integer indicating the total time in seconds
  248. // of the multimedia stream that has been sent to the client.
  249. DEFINE_NAME_AND_HINT( WMS_PRESENT_TOTAL_PLAY_TIME_HI, "WMS_PRESENT_TOTAL_PLAY_TIME_HI", 20 )
  250. // Type: Long
  251. // Description: This is the low-order 32 bits of a 64 bit integer indicating the total time in seconds
  252. // of the multimedia stream that has been sent to the client.
  253. DEFINE_NAME_AND_HINT( WMS_PRESENT_TOTAL_PLAY_TIME_LO, "WMS_PRESENT_TOTAL_PLAY_TIME_LO", 21 )
  254. // Type: String
  255. // Description: This is the value specified for the role attribute in a playlist.
  256. // This is an optional attribute.
  257. DEFINE_NAME_AND_HINT( WMS_PRESENT_PLAYLIST_ENTRY_ROLE, "WMS_PRESENT_PLAYLIST_ENTRY_ROLE", 45 )
  258. // Type: DWORD
  259. // Description: This is the currently selected bitrate, by the sink used for predict stream selection
  260. DEFINE_NAME_AND_HINT( WMS_PRESENT_WMSSINK_SELECTED_BITRATE, "WMS_PRESENT_WMSSINK_SELECTED_BITRATE", 51 )
  261. // Type: String
  262. // Description: This is the URL of the origin server that the WMS cache/proxy server was redirected to.
  263. DEFINE_NAME_AND_HINT( WMS_PRESENT_REDIRECT_LOCATION, "WMS_PRESENT_REDIRECT_LOCATION", 70 )
  264. // Type: Long
  265. // Description: For an ASF file, this specifies the amount of time in milliseconds that a player
  266. // should buffer data before starting to play the file.
  267. DEFINE_NAME_AND_HINT( WMS_PRESENT_PREROLL_TIME, "WMS_PRESENT_PREROLL_TIME", 81 )
  268. /////////////////////////////////////////////////////////////////////////////
  269. //
  270. // COMMAND CONTEXT
  271. //
  272. /////////////////////////////////////////////////////////////////////////////
  273. #undef CURRENT_CONTEXT_TYPE
  274. #define CURRENT_CONTEXT_TYPE WMS_COMMAND_CONTEXT_NAME_TYPE
  275. //
  276. // Each RTSP and HTTP header line gets an entry in the command context.
  277. // In order to prevent name clashes between the header lines and additional
  278. // command context properties that we define, our properties always begin
  279. // with "@ ". This is guaranteed to avoid clashes, because the '@' character
  280. // is not valid in header line names.
  281. //
  282. // Type: String
  283. // Description: This is the complete URL requested by the client.
  284. // E.g., "rtsp://foo.com/bar" for RTSP, and "/bar" for HTTP.
  285. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_URL, "@WMS_COMMAND_CONTEXT_URL", 2 )
  286. // Type: String
  287. // Description: When an absolute URL is available, (e.g., "rtsp://foo.com/bar") its
  288. // individual components are available in several properties. This property is the URL scheme.
  289. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_URL_SCHEME, "@WMS_COMMAND_CONTEXT_URL_SCHEME", 3 )
  290. // Type: String
  291. // Description: When an absolute URL is available, (e.g., "rtsp://foo.com/bar") its
  292. // individual components are available in several properties. This property is the URL host name.
  293. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_URL_HOSTNAME, "@WMS_COMMAND_CONTEXT_URL_HOSTNAME", 4 )
  294. // Type: Long
  295. // Description: When an absolute URL is available, (e.g., "rtsp://foo.com/bar") its
  296. // individual components are available in several properties. This property is the URL port.
  297. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_URL_PORT, "@WMS_COMMAND_CONTEXT_URL_PORT", 5 )
  298. // Type: String
  299. // Description: When an absolute URL is available, (e.g., "rtsp://foo.com/bar") its
  300. // individual components are available in several properties. This property is the URL path.
  301. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_URL_PATH, "@WMS_COMMAND_CONTEXT_URL_PATH", 6 )
  302. // Type: String
  303. // Description: When an absolute URL is available, (e.g., "rtsp://foo.com/bar") its
  304. // individual components are available in several properties. This property is the URL extension (which
  305. // includes the fragment and query).
  306. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_URL_EXTRAINFO, "@WMS_COMMAND_CONTEXT_URL_EXTRAINFO", 7 )
  307. // Type: String or IUnknown
  308. // Description: This is the body (payload) of this command. This may be a String, or an IUnknown pointer
  309. // to an INSSBuffer object.
  310. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_BODY, "@WMS_COMMAND_CONTEXT_BODY", 11 )
  311. // Type: String
  312. // Description: This is the MIME type of the payload specified by WMS_COMMAND_CONTEXT_BODY.
  313. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_BODY_TYPE, "@WMS_COMMAND_CONTEXT_BODY_TYPE", 12 )
  314. // Type: CURRENCY
  315. // Description: This specifies an offset from which the server should start playing a multimedia stream.
  316. // The format of the offset is specified by WMS_COMMAND_CONTEXT_START_OFFSET_TYPE.
  317. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_START_OFFSET, "@WMS_COMMAND_CONTEXT_START_OFFSET", 16 )
  318. // Type: Long
  319. // Description: This is a WMS_SEEK_TYPE constant which specifies how to interpret WMS_COMMAND_CONTEXT_START_OFFSET.
  320. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_START_OFFSET_TYPE, "@WMS_COMMAND_CONTEXT_START_OFFSET_TYPE", 17 )
  321. // Type: double (variant type VT_R8)
  322. // Description: This is the rate at which the stream should be played.
  323. // The value may be negative for rewind.
  324. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_RATE, "@WMS_COMMAND_CONTEXT_RATE", 21 )
  325. // Type: String
  326. // Description: This specifies the GUID that identifies the publishing point.
  327. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_PUBPOINT_IDENTIFIER, "@WMS_COMMAND_CONTEXT_PUBPOINT_IDENTIFIER", 40 )
  328. // Type: Long
  329. // Description: This specifies an eunumeration value defined in event.idl that identifies the
  330. // specific event that occurred.
  331. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_EVENT, "@WMS_COMMAND_CONTEXT_EVENT", 52 )
  332. // Type: String
  333. // Description: This is the name of the administrator who caused the event.
  334. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_EVENT_ADMINNAME, "@WMS_COMMAND_CONTEXT_EVENT_ADMINNAME", 53 )
  335. // Type: Long
  336. // Description: This is the ID of the client that was disconnected due to a limit being hit that was specified
  337. // by either an IWMSServerLimits or IWMSpublishingPointLimits object.
  338. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_LIMIT_CLIENTID, "@WMS_COMMAND_CONTEXT_LIMIT_CLIENTID", 55 )
  339. // Type: String
  340. // Description: The is the IP address of the client that was disconnected due to a limit being hit that was specified
  341. // by either an IWMSServerLimits or IWMSpublishingPointLimits object.
  342. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_LIMIT_CLIENTIP, "@WMS_COMMAND_CONTEXT_LIMIT_CLIENTIP", 56 )
  343. // Type: Long
  344. // Description: This is the previous value of the limit that was changed.
  345. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_LIMIT_OLD_VALUE, "@WMS_COMMAND_CONTEXT_LIMIT_OLD_VALUE", 57 )
  346. // Type: IDispatch
  347. // Description: This is a pointer to an IWMSPlaylist object associated with the event.
  348. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_PLAYLIST_OBJECT, "@WMS_COMMAND_CONTEXT_PLAYLIST_OBJECT", 59 )
  349. // Type: String
  350. // Description: This is the name of the publishing point associated with the event.
  351. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_PUBPOINT_NAME, "@WMS_COMMAND_CONTEXT_PUBPOINT_NAME", 62 )
  352. // Type: String
  353. // Description: This is the moniker for the publishing point associated with the event.
  354. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_PUBPOINT_MONIKER, "@WMS_COMMAND_CONTEXT_PUBPOINT_MONIKER", 63 )
  355. // Type: VARIANT
  356. // Description: This is the old value for the property that was changed.
  357. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_EVENT_OLD_VALUE, "@WMS_COMMAND_CONTEXT_EVENT_OLD_VALUE", 64 )
  358. // Type: VARIANT
  359. // Description: This is the new value for the property that was changed or added.
  360. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_EVENT_NEW_VALUE, "@WMS_COMMAND_CONTEXT_EVENT_NEW_VALUE", 65 )
  361. // Type: String
  362. // Description: This is the name of the property that was changed.
  363. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_EVENT_PROPERTY_NAME, "@WMS_COMMAND_CONTEXT_EVENT_PROPERTY_NAME", 66 )
  364. // Type: String
  365. // Description: This is the name of the plugin associated with the event.
  366. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_PLUGIN_NAME, "@WMS_COMMAND_CONTEXT_PLUGIN_NAME", 69 )
  367. // Type: String
  368. // Description: This is the moniker for the plugin associated with the event.
  369. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_PLUGIN_MONIKER, "@WMS_COMMAND_CONTEXT_PLUGIN_MONIKER", 70 )
  370. // Type: Long
  371. // Description: This is the new value of the limit that was changed.
  372. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_LIMIT_NEW_VALUE, "@WMS_COMMAND_CONTEXT_LIMIT_NEW_VALUE", 72 )
  373. // Type: String
  374. // Description: This is the moniker for an IWMSCacheProxyPlugin object associated with the event.
  375. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_CACHE_MONIKER, "@WMS_COMMAND_CONTEXT_CACHE_MONIKER", 87 )
  376. // Type: String
  377. // Description: This specifies where the content is stored locally for cache download and prestuff events.
  378. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_DOWNLOAD_URL, "@WMS_COMMAND_CONTEXT_DOWNLOAD_URL", 88 )
  379. // Type: String
  380. // Description: This specifies the URL that a client was redirected to.
  381. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_REDIRECT_URL, "@WMS_COMMAND_CONTEXT_REDIRECT_URL", 89 )
  382. // Type: String
  383. // Description: The Template publishing point name for push distribution
  384. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_PUSH_DISTRIBUTION_TEMPLATE, "@WMS_COMMAND_CONTEXT_PUSH_DISTRIBUTION_TEMPLATE", 97 )
  385. // Type: DWORD
  386. // Description: This indicates that a new publishing point will be created by this push command
  387. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_PUSH_CREATING_NEW_PUBLISHING_POINT, "@WMS_COMMAND_CONTEXT_PUSH_CREATING_NEW_PUBLISHING_POINT", 99 )
  388. // Type: Long
  389. // Description: This is the unique identifier for the playlist element associated with the event.
  390. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_PLAYLIST_ENTRY_UNIQUE_RUNTIME_ID, "@WMS_COMMAND_CONTEXT_PLAYLIST_ENTRY_UNIQUE_RUNTIME_ID", 100 )
  391. // Type: String
  392. // Description: This is an URL used for rtsp TEARDOWN and SET_PARAMETER commands.
  393. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_REQUEST_URL, "@WMS_COMMAND_CONTEXT_REQUEST_URL", 105 )
  394. // Type: String
  395. // Description: This indicates the active entry that is being played after a startpushing call.
  396. DEFINE_NAME_AND_HINT( WMS_COMMAND_CONTEXT_ACTIVE_ENTRY_URL, "@WMS_COMMAND_CONTEXT_ACTIVE_ENTRY_URL", 164 )
  397. /////////////////////////////////////////////////////////////////////////////
  398. //
  399. // CONTENT DESCRIPTION
  400. //
  401. /////////////////////////////////////////////////////////////////////////////
  402. #undef CURRENT_CONTEXT_TYPE
  403. #define CURRENT_CONTEXT_TYPE WMS_CONTENT_DESCRIPTION_CONTEXT_NAME_TYPE
  404. // Type: String
  405. // Description: This is the title for the current multimedia stream.
  406. DEFINE_NAME_AND_HINT( WMS_CONTENT_DESCRIPTION_TITLE, "title", 1 )
  407. // Type: String
  408. // Description: This is the author for the current multimedia stream.
  409. DEFINE_NAME_AND_HINT( WMS_CONTENT_DESCRIPTION_AUTHOR, "author", 2 )
  410. // Type: String
  411. // Description: This is the copyright for the current multimedia stream.
  412. DEFINE_NAME_AND_HINT( WMS_CONTENT_DESCRIPTION_COPYRIGHT, "copyright", 3 )
  413. // Type: String
  414. // Description: This is the description for the current multimedia stream.
  415. DEFINE_NAME_AND_HINT( WMS_CONTENT_DESCRIPTION_DESCRIPTION, "WMS_CONTENT_DESCRIPTION_DESCRIPTION", 4 )
  416. // Type: String
  417. // Description: This is the rating for the current multimedia stream.
  418. DEFINE_NAME_AND_HINT( WMS_CONTENT_DESCRIPTION_RATING, "WMS_CONTENT_DESCRIPTION_RATING", 5 )
  419. // Type: String
  420. // Description: This is the URL for the current multimedia stream.
  421. DEFINE_NAME_AND_HINT( WMS_CONTENT_DESCRIPTION_PLAYLIST_ENTRY_URL, "WMS_CONTENT_DESCRIPTION_PLAYLIST_ENTRY_URL", 6 )
  422. // Type: String
  423. // Description: This is the value for the role attribute in the playlist for the current multimedia stream.
  424. DEFINE_NAME_AND_HINT( WMS_CONTENT_DESCRIPTION_ROLE, "WMS_CONTENT_DESCRIPTION_ROLE", 7 )
  425. // Type: Long
  426. // Description: This specifies if a client is allowed to seek, fast forward, rewind, or skip the multimedia stream. This is a flag
  427. // with a value of 1 for True and 0 for False. A value of True indicates that these actions are not allowed.
  428. DEFINE_NAME_AND_HINT( WMS_CONTENT_DESCRIPTION_NO_SKIP, "WMS_CONTENT_DESCRIPTION_NO_SKIP", 11 )
  429. // Type: String
  430. // Description: Defines the album name for the media file.
  431. DEFINE_NAME_AND_HINT( WMS_CONTENT_DESCRIPTION_ALBUM, "album", 14 )
  432. // Type: String
  433. // Description: Defines the artist of the media file.
  434. DEFINE_NAME_AND_HINT( WMS_CONTENT_DESCRIPTION_ARTIST, "artist", 15 )
  435. // Type: String
  436. // Description: Defines the text that is displayed as a ToolTip for the banner graphic defined by the bannerURL attribute.
  437. DEFINE_NAME_AND_HINT( WMS_CONTENT_DESCRIPTION_BANNERABSTRACT, "bannerAbstract", 16 )
  438. // Type: String
  439. // Description: Defines an URL that a user can access by clicking the banner graphic defined by the bannerURL attribute.
  440. DEFINE_NAME_AND_HINT( WMS_CONTENT_DESCRIPTION_BANNERINFOURL, "bannerInfoURL", 17 )
  441. // Type: String
  442. // Description: Defines an URL to a graphic file that appears in the Windows Media Players display panel, beneath the video content.
  443. DEFINE_NAME_AND_HINT( WMS_CONTENT_DESCRIPTION_BANNERURL, "bannerURL", 18 )
  444. // Type: String
  445. // Description: Defines the genre for the playlist or media file.
  446. DEFINE_NAME_AND_HINT( WMS_CONTENT_DESCRIPTION_GENRE, "genre", 19 )
  447. // Type: String
  448. // Description: Defines the URL that is used to post log statistics to either the origin server or any arbitrary location on the web.
  449. DEFINE_NAME_AND_HINT( WMS_CONTENT_DESCRIPTION_LOGURL, "logURL", 20 )
  450. // Type: String
  451. // Description: provides server info for branding
  452. DEFINE_NAME_AND_HINT( WMS_CONTENT_DESCRIPTION_SERVER_BRANDING_INFO, "WMS_CONTENT_DESCRIPTION_SERVER_BRANDING_INFO", 22 )
  453. /////////////////////////////////////////////////////////////////////////////
  454. //
  455. // CACHE CONTENT INFORMATION
  456. //
  457. /////////////////////////////////////////////////////////////////////////////
  458. #undef CURRENT_CONTEXT_TYPE
  459. #define CURRENT_CONTEXT_TYPE WMS_CACHE_CONTENT_INFORMATION_CONTEXT_NAME_TYPE
  460. // Type: Long
  461. // Description: This specifies flags defined by WMS_CACHE_CONTENT_TYPE that describe the type of content.
  462. DEFINE_NAME_AND_HINT( WMS_CACHE_CONTENT_INFORMATION_CONTENT_TYPE, "WMS_CACHE_CONTENT_INFORMATION_CONTENT_TYPE", 1 )
  463. // Type: Long
  464. // Description: This specifies flags defined by WMS_CACHE_REMOTE_EVENT_FLAGS that describe the remote cache events
  465. // that the origin server requested.
  466. DEFINE_NAME_AND_HINT( WMS_CACHE_CONTENT_INFORMATION_EVENT_SUBSCRIPTIONS, "WMS_CACHE_CONTENT_INFORMATION_EVENT_SUBSCRIPTIONS", 2 )
  467. // Type: IUnknown
  468. // Description: This is a pointer to an IWMSDataContainerVersion object.
  469. DEFINE_NAME_AND_HINT( WMS_CACHE_CONTENT_INFORMATION_DATA_CONTAINER_VERSION, "WMS_CACHE_CONTENT_INFORMATION_DATA_CONTAINER_VERSION", 3 )
  470. // Type: DWORD
  471. // Description: Pointer to a context that contains the Content Description Lists provided by
  472. // a cache plugin in for a cache-hit.
  473. DEFINE_NAME_AND_HINT( WMS_CACHE_CONTENT_INFORMATION_CONTENT_DESCRIPTION_LISTS, "WMS_CACHE_CONTENT_INFORMATION_CONTENT_DESCRIPTION_LISTS", 4 )
  474. /////////////////////////////////////////////////////////////////////////////
  475. //
  476. // ARCHIVE CONTEXT
  477. //
  478. /////////////////////////////////////////////////////////////////////////////
  479. #undef CURRENT_CONTEXT_TYPE
  480. #define CURRENT_CONTEXT_TYPE WMS_ARCHIVE_CONTEXT_NAME_TYPE
  481. // Type: String
  482. // Description: This is the name of the archive file.
  483. DEFINE_NAME_AND_HINT( WMS_ARCHIVE_FILENAME, "WMS_ARCHIVE_FILENAME", 1 )
  484. // Type: String
  485. // Description: This is the format type of the archived file.
  486. DEFINE_NAME_AND_HINT( WMS_ARCHIVE_FORMAT_TYPE, "WMS_ARCHIVE_FORMAT_TYPE", 2 )
  487. // Type: IUnknown
  488. // Description: This is a pointer to the IWMSStreamHeaderList object associated with the archived file.
  489. DEFINE_NAME_AND_HINT( WMS_ARCHIVE_STREAM_HEADERS, "WMS_ARCHIVE_STREAM_HEADERS", 3 )
  490. // Type: Long
  491. // Description: This is an HRESULT indicating the result of downloading the requested content.
  492. DEFINE_NAME_AND_HINT( WMS_ARCHIVE_STATUS_CODE, "WMS_ARCHIVE_STATUS_CODE", 4 )
  493. // Type: CURRENCY
  494. // Description: This is the size of the archived file.
  495. DEFINE_NAME_AND_HINT( WMS_ARCHIVE_FILE_SIZE, "WMS_ARCHIVE_FILE_SIZE", 5 )
  496. // Type: long
  497. // description: This is the percentage of packets lost.
  498. DEFINE_NAME_AND_HINT( WMS_ARCHIVE_PACKET_LOSS_PERCENTAGE, "WMS_ARCHIVE_PACKET_LOSS_PERCENTAGE", 6 )
  499. // Type: IWMSBuffer
  500. // description: pointer to a buffer that contains the serialized representation of a Content Description List.
  501. DEFINE_NAME_AND_HINT( WMS_ARCHIVE_CONTENT_DESCRIPTION_LIST_BUFFER, "WMS_ARCHIVE_CONTENT_DESCRIPTION_LIST_BUFFER", 7 )
  502. #endif // _WMS_CONTEXT_NAMES_h_