IWMSPlaylist.UncueStream (Visual Basic .NET)
The UncueStream method specifies that content that is previously prepared for streaming is uncued.
HRESULT UncueStream(
IXMLDOMElement* pPlaylistEntry
);
Arguments
pPlaylistEntry |
[in] Pointer to a playlist entry object. |
Return Value
If the method succeeds, it returns S_OK. If it fails, it returns an HRESULT error code.
Return code |
Number |
Meaning |
---|---|---|
E_INVALIDARG |
0x80070057 |
pPlaylistEntry is a NULL pointer argument. |
NS_E_PLAYLIST_UNSUPPORTED_ENTRY |
0xC00D14B7 |
pPlaylistEntry is not a media element. |
NS_E_PLAYLIST_ENTRY_ALREADY_PLAYING |
0xC00D14B4L |
pPlaylistEntry is already playing. |
Example
#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 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;
// Uncue the playlist entry if it is cued.
if (bVal == VARIANT_TRUE)
hr = pPlaylist->UncueStream(pPlaylistEntry);
if (FAILED(hr)) goto EXIT;
}
// Release temporary COM objects.
pPlayer->Release();
pPlaylist->Release();
pPlaylistEntry->Release();
pCurPlaylistEntry->Release();
}
EXIT:
// TODO: Release temporary COM objects and uninitialize COM.
Requirements
Header: wmsserver.h
Library: WMSServerTypeLib.dll
Platform: Windows Server 2003 family, Windows Server 2008 family.