IWMSAdminArchiveSink Interface
.gif)
| Previous | Next |
IWMSAdminArchiveSink Interface
You can use the IWMSAdminArchiveSink interface to archive streamed content. This interface is exposed by the WMS Archive Data Writer plug-in.
In addition to the methods inherited from IDispatch, the IWMSAdminArchiveSink interface exposes the following methods.
| Method | Description |
| ExpandTemplate | Retrieves the expanded form of a tokenized template path. |
| get_ActivePath | Retrieves the path to the content that is being archived. |
| get_AutoStart | Retrieves a Boolean value indicating whether archiving begins automatically when streaming begins. |
| get_AvailableDiskSpace | Retrieves the amount of remaining disk space that can be used for archiving. |
| get_Bandwidth | Retrieves the current bandwidth of the content being archived. |
| get_ElapsedTime | Retrieves the amount of time that the archiving process has been running. |
| get_IsRecording | Retrieves a Boolean value indicating whether the archiving process is running. |
| get_Path | Retrieves the template path to which content is being archived. |
| put_AutoStart | Specifies a Boolean value indicating whether archiving begins automatically when streaming begins. |
| put_Path | Specifies the template path to which content is being archived. |
| StartRecord | Starts the archiving process. |
| StopRecord | Stops the archiving process. |
Example Code
The following example illustrates how to retrieve a pointer to an IWMSAdminArchiveSink interface.
#include <windows.h>
#include <atlbase.h> // Includes CComBSTR and CComVariant.
// To access system plug-in interfaces, the
// entire type library must be imported as shown.
#import "WMSServerTypeLib.dll" no_namespace named_guids \
raw_interfaces_only
// Declare variables and interfaces.
IWMSServer *pServer;
IWMSPublishingPoints *pPubPoints;
IWMSPublishingPoint *pPubPoint;
IWMSBroadcastPublishingPoint *pBCPubPoint;
IWMSPlugins *pPlugins;
IWMSPlugin *pPlugin;
IDispatch *pDispatch;
IWMSAdminArchiveSink *pAdminArchiveSink;
HRESULT hr;
CComVariant varIndex;
CComBSTR bstrName;
CComBSTR bstrFile;
// 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 the IWMSPublishingPoints
// interface and add a new broadcast publishing point.
hr = pServer->get_PublishingPoints(&pPubPoints);
if (FAILED(hr)) goto EXIT;
bstrName = "NewPubPoint";
bstrFile = "https://encoder:port";
hr = pPubPoints->Add(bstrName, WMS_PUBLISHING_POINT_BROADCAST,
bstrFile, &pPubPoint);
if (FAILED(hr)) goto EXIT;
// Query the IWMSBroadcastPublishingPoint interface from
// the newly created publishing point.
hr = pPubPoint->QueryInterface(IID_IWMSBroadcastPublishingPoint,
(void **)&pBCPubPoint);
if (FAILED(hr)) goto EXIT;
// Retrieve a pointer to an IWMSPlugins interface
// containing broadcast data sink plug-ins.
hr = pBCPubPoint->get_BroadcastDataSinks(&pPlugins);
if (FAILED(hr)) goto EXIT;
// Retrieve a pointer to the IWMSPlugin interface
// of the plug-in to be configured.
varIndex = "WMS Archive Data Writer";
hr = pPlugins->get_Item(varIndex, &pPlugin);
if (FAILED(hr)) goto EXIT;
// Retrieve a pointer to the custom interface
// of the plug-in.
hr = pPlugin->get_CustomInterface(&pDispatch);
if (FAILED(hr)) goto EXIT;
// Query the specific administration interface
// for the plug-in.
hr = pDispatch->QueryInterface(IID_IWMSAdminArchiveSink,
(void **)&pAdminArchiveSink);
if (FAILED(hr)) goto EXIT;
EXIT:
// TODO: Release temporary COM objects and uninitialize COM.
See Also
| Previous | Next |