IWMSCacheProxy.RemoveAllCacheItems (C#)

banner art

Previous Next

IWMSCacheProxy.RemoveAllCacheItems (C#)

The RemoveAllCacheItems method is called by the server to remove all content from the cache.

Syntax

  

Parameters

pCallback

[in] IWMSCacheProxyCallback object containing the callback function.

varContext

[in] object containing a value defined by the server to identify which call to RemoveAllCacheItems the plug-in is responding to when it calls

IWMSCacheProxyCallback.OnRemoveAllCacheItems. You must pass this value back unaltered.

Return Values

This method does not return a value. To report an error, the plug-in can throw a COMException object to the server. If the plug-in uses the IWMSEventLog object to log error information, it is recommended that it throw NS_E_PLUGIN_ERROR_REPORTED (0xC00D157D). Typically, the server attempts to make plug-in error information available to the server object model, the Windows Event Viewer, and the troubleshooting list in the details pane of the Windows Media Services MMC. However, if the plug-in uses the IWMSEventLog object to send custom error information to the Windows Event Viewer, throwing NS_E_PLUGIN_ERROR_REPORTED stops the server from also logging to the event viewer. For more information about plug-in error information, see Identifying Plug-in Errors.

Example Code

The following example assumes that the cache plug-in makes use of the .NET DataSet collection of DataTable objects. Each DataRow object in the data table represents one IWMSCacheDescriptor object.

using System.Data;
using Microsoft.WindowsMediaServices.Interop;
using System.Runtime.InteropServices;

void IWMSCacheProxy.RemoveAllCacheItems( 
               IWMSCacheProxyCallback pCallback,
               object varContext)
{
  try
  {
    // Retrieve the cached items DataTable object
    // from the DataSet object.
    DataTable dt = DS.Tables["CachedItems"];

    // Select and delete all rows.
    DataRow[] drows = dt.Select();
    foreach(DataRow row in drows)
    {
      RemoveEntryFromDatabase();
    }

    // Call IWMSCacheProxyCallback.OnRemoceAllCacheItems().
    pCallback.OnRemoveAllCacheItems(0,varContext);
  }

  catch(Exception e)
  {
    throw new COMException();
  }

  return;
}

Requirements

Reference: Add a reference to Microsoft.WindowsMediaServices.

Namespace: Microsoft.WindowsMediaServices.Interop.

Assembly: Microsoft.WindowsMediaServices.dll.

Library: WMSServerTypeLib.dll.

Platform: Windows Server 2003, Enterprise Edition; Windows Server 2003, Datacenter Edition; Windows Server 2008.

See Also

Previous Next