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 CreatePlaylistParser method creates an IWMSPlaylistParserIWMSPlaylistParser Interface for use by the plug-in.
HRESULT CreatePlaylistParser(
IWMSCommandContext* pCommandContext,
IWMSContext* pUser,
IWMSContext* pPresentation,
DWORD dwFlags,
IWMSClassObject* pFactory,
IWMSBufferAllocator* pBufferAllocator,
IWMSPlaylistParserPluginCallback* pCallback,
QWORD qwContext
);
Arguments
pCommandContext |
[in] Pointer to an IWMSCommandContextIWMSCommandContext Interface specifying the request command context that is passed in by the server. |
pUser |
[in] Pointer to an IWMSContextIWMSContext Interface specifying the user context that is passed in by the server. |
pPresentation |
[in] Pointer to an IWMSContext interface specifying the presentation context that is passed in by the server. |
dwFlags |
[in] Reserved for future use. |
pFactory |
[in] Pointer to an IWMSClassObject object implemented by the server, that can be used as a class factory to create the other objects. |
pBufferAllocator |
[in] Pointer to an IWMSBufferAllocatorIWMSBufferAllocator Interface to be used to allocate a buffer for reading and writing. |
pCallback |
[in] Pointer to an IWMSPlaylistParserPluginCallbackIWMSPlaylistParserPluginCallback Interface that is used by the plug-in to report to the server the result of the object creation process. |
qwContext |
[in] QWORD containing a value defined by the server to identify which call to CreatePlaylistParser the plug-in is responding to when it calls IWMSPlaylistParserPluginCallback::OnCreatePlaylistParser. You must pass this value back unaltered when you call OnCreatePlaylistParser. |
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.
Remarks
This method is implemented by the plug-in and called by the server. If you plan to use any input parameter after this function returns, you must keep a pointer to it and increment the pointer's reference count.
Example
HRESULT STDMETHODCALLTYPE
CSDKSamplePlaylistParserPlugin::CreatePlaylistParser(
IWMSCommandContext *pCommandContext,
IWMSContext *pUserContext,
IWMSContext *pPresentationContext,
DWORD dwFlags,
IWMSClassObject *pFactory,
IWMSBufferAllocator *pBufferAllocator,
IWMSPlaylistParserPluginCallback *pCallback,
QWORD qwContext)
{
HRESULT hr = S_OK;
CComPtr<CComSDKSamplePlaylistParser> spParser;
if ( NULL == pCallback )
return( E_INVALIDARG );
spParser = new CComSDKSamplePlaylistParser;
if ( spParser == NULL )
return( E_OUTOFMEMORY );
hr = spParser->Initialize(
pCommandContext,
pUserContext,
pPresentationContext,
m_spServerContext,
m_spNamedValues,
dwFlags,
pFactory
);
if ( FAILED( hr ) )
return( hr );
pCallback->OnCreatePlaylistParser( hr, spParser, qwContext );
return( S_OK );
}
Requirements
Header: wmsplaylistparser.h.
Library: WMSServerTypeLib.dll.
Platform: Windows Server 2003, Enterprise Edition; Windows Server 2003, Datacenter Edition; Windows Server 2008.
See Also
Concepts
Creating Playlist Parser Plug-ins
IWMSPlaylistParserPlugin Interface