IWMSAdminArchiveSink::get_AvailableDiskSpace
Previous | Next |
IWMSAdminArchiveSink::get_AvailableDiskSpace
The get_AvailableDiskSpace method retrieves the amount of remaining disk space that can be used for archiving.
Syntax
HRESULT get_AvailableDiskSpace( long* plAvailableKBytes );
Parameters
plAvailableKBytes
[out] Pointer to a long containing the available disk space in kilobytes.
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an HRESULT error code.
Return code | Number | Description |
E_INVALIDARG | 0x80070057 | The plAvailableKBytes parameter is NULL. |
E_UNEXPECTED | 0x8000FFFF | The WMS Archive Data Writer plug-in cannot be found. |
Remarks
The value returned is relative to a valid template path. For example, if you try to access a folder and do not have the proper permissions for it, the value returned by calling get_AvailableDiskSpace will be relative to the previous valid template path.
Example Code
#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; long lValue; // 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; // Retrieve the amount of disk space available for archiving. hr = pAdminArchiveSink->get_AvailableDiskSpace(&lValue); if (FAILED(hr)) goto EXIT; EXIT: // TODO: Release temporary COM objects and uninitialize COM.
Requirements
Library: WMSServerTypeLib.dll.
Platform: Windows Server 2003 family, Windows Server 2008 family.
See Also
Previous | Next |