Internal Events
You can use event notices to respond to changes in the state of the server. You can obtain event notices internally by using either the IWMSEventNotificationPlugin interface or the IWMSEventAuthorizationPlugin interface. You can use the WMS WMI Event Handler plug-in included with Windows Media Services to obtain an event notice externally. For more information, see External Events.
To retrieve event notices internally, you must use one of the event notification and authorization plug-ins included with Windows Media Services, or create your own. An event notification plug-in indicates the event notices that it must receive by implementing the GetHandledEvents method on the IWMSEventNotificationPlugin interface. An authorization plug-in indicates the event notices that it must receive by implementing the GetAuthorizedEvents method on the IWMSEventAuthorizationPlugin interface.
When a registered event occurs, the server calls either the OnEvent method on the IWMSEventNotificationPlugin interface or the AuthorizeEvent method on the IWMSEventAuthorizationPlugin interface and fills a WMS_EVENT structure to identify the type of event that occurred. The server also fills in a command context, user context, and presentation context.
The WMS_EVENT structure contains a WMS_EVENT_TYPE enumeration type.
struct WMS_EVENT
{
long Version;
enum WMS_EVENT_TYPE Type;
long hr;
};
The following table identifies the internal event notices that can be sent by the server. The value column lists the numeric value associated with each event. You must supply the numeric value when you use Visual Basic Scripting Edition (VBScript). The notification event and authorization event columns indicate whether a notification plug-in or an authorization plug-in can subscribe to the event. Authorization events that are associated with read/write access require that an authentication plug-in be enabled before authorization can occur. This is indicated in the table by the "Authentication required" column. The event notices in the following table are members of the WMS_EVENT_TYPE enumeration type.
Event |
Value |
Notification event |
Authorization event |
Authentication required |
---|---|---|---|---|
WMS_EVENT_UNKNOWN_EVENT |
0 |
Yes |
No |
n/a |
WMS_EVENT_CONNECT |
1 |
Yes |
Yes |
No |
WMS_EVENT_DISCONNECT |
2 |
Yes |
No |
n/a |
WMS_EVENT_BEGIN_USER_SESSION |
3 |
Yes |
Yes |
No |
WMS_EVENT_END_USER_SESSION |
4 |
Yes |
No |
n/a |
WMS_EVENT_LOGICAL_URL_TRANSFORM |
5 |
No |
Yes |
No |
WMS_EVENT_PHYSICAL_URL_TRANSFORM |
6 |
No |
Yes |
No |
WMS_EVENT_DESCRIBE |
7 |
Yes |
Yes |
Yes |
WMS_EVENT_OPEN |
8 |
Yes |
Yes |
Yes |
WMS_EVENT_SELECT_STREAMS |
9 |
Yes |
Yes |
Yes |
WMS_EVENT_INITIALIZE_PLAYLIST |
10 |
No |
Yes |
No |
WMS_EVENT_PLAY |
11 |
Yes |
Yes |
Yes |
WMS_EVENT_PAUSE |
12 |
Yes |
No |
n/a |
WMS_EVENT_STOP |
13 |
Yes |
No |
n/a |
WMS_EVENT_CLOSE |
14 |
Yes |
No |
n/a |
WMS_EVENT_SET_PARAMETER |
15 |
Yes |
No |
n/a |
WMS_EVENT_GET_PARAMETER |
16 |
Yes |
Yes |
Yes |
WMS_EVENT_VALIDATE_PUSH_DISTRIBUTION |
17 |
Yes |
Yes |
Yes |
WMS_EVENT_CREATE_DISTRIBUTION_DATA_PATH |
18 |
Yes |
No |
n/a |
WMS_EVENT_DESTROY_DISTRIBUTION_DATA_PATH |
19 |
Yes |
No |
n/a |
WMS_EVENT_LOG |
20 |
Yes |
No |
n/a |
WMS_EVENT_SERVER |
21 |
Yes |
No |
n/a |
WMS_EVENT_PUBLISHING_POINT |
22 |
Yes |
No |
n/a |
WMS_EVENT_LIMIT_CHANGE |
23 |
Yes |
No |
n/a |
WMS_EVENT_LIMIT_HIT |
24 |
Yes |
No |
n/a |
WMS_EVENT_PLUGIN |
25 |
Yes |
No |
n/a |
WMS_EVENT_PLAYLIST |
26 |
Yes |
No |
n/a |
WMS_EVENT_CACHE |
27 |
Yes |
No |
n/a |
WMS_EVENT_REMOTE_CACHE_OPEN |
28 |
Yes |
No |
n/a |
WMS_EVENT_REMOTE_CACHE_CLOSE |
29 |
Yes |
No |
n/a |
WMS_EVENT_REMOTE_CACHE_LOG |
30 |
Yes |
No |
n/a |
See Also (General)
See Also (Visual Basic .NET)
IWMSEventAuthorizationPluginIWMSEventAuthorizationPlugin Object (Visual Basic .NET)
IWMSEventNotificationPluginIWMSEventNotificationPlugin Object (Visual Basic .NET)
See Also (C#)
IWMSEventAuthorizationPluginIWMSEventAuthorizationPlugin Object (C#)
IWMSEventNotificationPluginIWMSEventNotificationPlugin Object (C#)
See Also (C++)
IWMSEventAuthorizationPluginIWMSEventAuthorizationPlugin Interface
IWMSEventNotificationPluginIWMSEventNotificationPlugin Interface