IWMSAdminArchiveSink Interface
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 |