IWMSPlaylist::get_CallerEntry
Previous | Next |
IWMSPlaylist::get_CallerEntry
The get_CallerEntry method retrieves the playlist element that is pushed onto the playlist's call stack immediately before the specified playlist element.
Syntax
HRESULT get_CallerEntry( IXMLDOMElement* pPlaylistEntry , IXMLDOMElement** ppCallerPlaylistEntry );
Parameters
pPlaylistEntry
[in] Pointer to a playlist entry object.
ppCallerPlaylistEntry
[out] Pointer to a pointer to a caller playlist entry object. This method calls AddRef internally. To avoid memory leaks, you must call Release when you are finished using the interface.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an HRESULT error code.
Return code | Number | Meaning |
E_INVALIDARG | 0x80070057 | One of the parameters is a NULL pointer argument. |
Remarks
A value of NULL is returned if a playlist element is specified that is not currently active or if it was the first playlist element that was pushed onto the call stack.
Example Code
#include <windows.h> #include <atlbase.h> // Includes CComVariant. #include "wmsserver.h" // Declare variables and interfaces. IWMSServer *pServer; IWMSPlayers *pPlayers; IWMSPlayer *pPlayer; IWMSPlaylist *pPlaylist; IXMLDOMElement *pCurPlaylistEntry; IXMLDOMElement *pPlaylistEntry; HRESULT hr; VARIANT_BOOL bVal; CComVariant varIndex; long lCount; // Initialize the COM library and retrieve a pointer // to an IWMSServer interface. hr = CoInitialize(NULL); hr = CoCreateInstance(CLSID_WMSServer, NULL, CLSCTX_ALL, IID_IWMSServer, (void **)&pServer); if (FAILED(hr)) goto EXIT; // Retrieve a pointer to an IWMSPlayers interface // and retrieve the total count of current connections. hr = pServer->get_Players(&pPlayers); if (FAILED(hr)) goto EXIT; hr = pPlayers->get_Count(&lCount); if (FAILED(hr)) goto EXIT; // Retrieve information about each requested playlist. for (long x = 0; x < lCount; x++) { varIndex = x; hr = pPlayers->get_Item(varIndex, &pPlayer); if (FAILED(hr)) goto EXIT; // Retrieve the playlist that was requested by the client // if one exists. hr = pPlayer->get_RequestedPlaylist(&pPlaylist); if (FAILED(hr)) goto EXIT; // Retrieve information about the current playlist entry. hr = pPlaylist->get_CurrentPlaylistEntry(&pPlaylistEntry); if (FAILED(hr)) goto EXIT; // Retrieve information about each playlist entry. while (pPlaylistEntry != NULL) { pCurPlaylistEntry = pPlaylistEntry; // Retrieve the next playlist entry. hr = pPlaylist->get_CallerEntry(pCurPlaylistEntry, &pPlaylistEntry); if (FAILED(hr)) goto EXIT; // Retrieve a Boolean value indicating whether this // playlist entry is cued. hr = pPlaylist->get_IsStreamCued(pPlaylistEntry, &bVal); if (FAILED(hr)) goto EXIT; } // Release temporary COM objects. pPlayer->Release(); pPlaylist->Release(); pPlaylistEntry->Release(); pCurPlaylistEntry->Release(); }
Requirements
Header: wmsserver.h
Library: WMSServerTypeLib.dll
Platform: Windows Server 2003 family, Windows Server 2008 family.
See Also
Previous | Next |