Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The DoExtendedCommand method is called by the server to pass extended commands, which are defined by a plug-in, up the data path.
HRESULT DoExtendedCommand(
LPWSTR szCommandName,
IWMSCommandContext* pCommand,
IWMSPacketStreamerCallback* pCallback,
QWORD qwContext
);
Arguments
szCommandName |
[in] LPWSTR containing the name of the custom command. |
pCommand |
[in] Pointer to an IWMSCommandContextIWMSCommandContext Interface containing the associated context. |
pCallback |
[in] Pointer to an IWMSPacketStreamerCallbackIWMSPacketStreamerCallback Interface used to report the status of the method call. |
qwContext |
[in] QWORD containing a value defined by the server to identify which call to DoExtendedCommand the plug-in is responding to when it calls IWMSPacketStreamerCallback::OnDoExtendedCommand. You must pass this value back unaltered. |
Return Value
If the method succeeds, the plug-in must return S_OK. To report an error, the plug-in can return any HRESULT other than S_OK. If the plug-in uses the IWMSEventLogIWMSEventLog Interface to log error information directly to the Windows Event Viewer, it is recommended that it return NS_E_PLUGIN_ERROR_REPORTED. 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 interface to send custom error information to the Windows Event Viewer, returning NS_E_PLUGIN_ERROR_REPORTED stops the server from also logging to the event viewer. For more information about retrieving plug-in error information, see Identifying Plug-in Errors.
Example
STDMETHODIMP CNetworkDataContainer::DoExtendedCommand(
LPWSTR szCommandName,
IWMSCommandContext *pCommand,
IWMSPacketStreamerCallback *pCallback,
QWORD qwContext)
{
if( NULL == pCallback || NULL == szCommandName )
{
return( E_INVALIDARG );
}
// TODO: Handle user-defined extended commands.
( void ) pCallback->OnDoExtendedCommand( S_OK, qwContext );
return( S_OK );
}
Requirements
Header: wmsdatapath.h.
Library: WMSServerTypeLib.dll.
Platform: Windows Server 2003, Enterprise Edition; Windows Server 2003, Datacenter Edition; Windows Server 2008.