IWMSEventNotificationPlugin.OnEvent (Visual Basic .NET)
Previous | Next |
IWMSEventNotificationPlugin.OnEvent (Visual Basic .NET)
The server calls the OnEvent method when an event subscribed to by the plug-in occurs.
Syntax
Parameters
pEvent
[in] Reference to a WMS_EVENT structure containing the event.
pUserCtx
[in] IWMSContext object containing the user context.
pPresentationCtx
[in] IWMSContext object containing the presentation context.
pCommandCtx
[in] IWMSCommandContext object containing the command context.
Return Values
This method does not return a value. To report an error, the plug-in can throw a COMException object to the server. If the plug-in uses the IWMSEventLog object to log error information, it is recommended that it throw NS_E_PLUGIN_ERROR_REPORTED (0xC00D157D). Typically, the server attempts to make plug-in error information available to the server object model, the Windows Event Viewer, and the troubleshooting list in the details pane of the Windows Media Services MMC. However, if the plug-in uses the IWMSEventLog object to send custom error information to the Windows Event Viewer, throwing NS_E_PLUGIN_ERROR_REPORTED stops the server from also logging to the event viewer. For more information about plug-in error information, see Identifying Plug-in Errors.
Example Code
Public Sub OnEvent( _ ByRef pEvent As WMS_EVENT, _ ByVal pUserCtx As IWMSContext, _ ByVal pPresentationCtx As IWMSContext, _ ByVal pCommandCtx As IWMSCommandContext) _ Implements IWMSEventNotificationPlugin.OnEvent Dim CmdRequest As IWMSContext Dim iSubEvent As Integer Try pCommandCtx.GetCommandRequest(CmdRequest) CmdRequest.GetLongValue(WMSDefines.WMS_COMMAND_CONTEXT_EVENT, _ WMSDefines.WMS_COMMAND_CONTEXT_EVENT_ID, _ iSubEvent, 0) Select Case pEvent.Type Case WMS_EVENT_TYPE.WMS_EVENT_PLUGIN ' TODO: Handle plug-in events. Case WMS_EVENT_TYPE.WMS_EVENT_PUBLISHING_POINT ' TODO: Handle publishing point events. Case WMS_EVENT_TYPE.WMS_EVENT_SERVER ' TODO: Handle server events. Case WMS_EVENT_TYPE.WMS_EVENT_LIMIT_CHANGE Dim iOldValue As Integer Dim iNewValue As Integer CmdRequest.GetLongValue( _ WMSDefines.WMS_COMMAND_CONTEXT_LIMIT_OLD_VALUE, _ WMSDefines.WMS_COMMAND_CONTEXT_LIMIT_OLD_VALUE_ID, _ iOldValue, 0) CmdRequest.GetLongValue( _ WMSDefines.WMS_COMMAND_CONTEXT_LIMIT_NEW_VALUE, _ WMSDefines.WMS_COMMAND_CONTEXT_LIMIT_NEW_VALUE_ID, _ iNewValue, 0) If iSubEvent = WMS_LIMIT_CHANGE_EVENT_TYPE.WMS_EVENT_LIMIT_CHANGE_CONNECTED_PLAYERS Then ' TODO: Handle connected players limit change event. ElseIf iSubEvent = WMS_LIMIT_CHANGE_EVENT_TYPE.WMS_EVENT_LIMIT_CHANGE_CONNECTION_RATE Then ' TODO: Handle connection rate limit change event. Else ' TODO: Handle other limit change events. End If End Select Catch e As Exception ' TODO: Handle exceptions. End Try End Sub
Requirements
Reference: Add a reference to Microsoft.WindowsMediaServices.
Namespace: Microsoft.WindowsMediaServices.Interop.
Assembly: Microsoft.WindowsMediaServices.dll.
Library: WMSServerTypeLib.dll.
Platform: Windows Server 2003, Enterprise Edition; Windows Server 2003, Datacenter Edition; Windows Server 2008.
See Also
Previous | Next |