IWMSCacheProxy.CreateCacheItemCollection (C#)

The CreateCacheItemCollection method is called by the server to create an IWMSCacheItemCollectionIWMSCacheItemCollection Object (C#) and retrieve a pointer to it.

void IWMSCacheProxy.CreateCacheItemCollection(
  ref IWMSCacheItemCollection ppCacheItemCollection


[out] Reference to an IWMSCacheItemCollection object.

Return Value

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 IWMSEventLogIWMSEventLog Object (C#) 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.


The IWMSCacheItemCollection object contains a collection of IWMSCacheItemDescriptor objects. The IWMSCacheItemDescriptorIWMSCacheItemDescriptor Object (C#) retrieves the size, version number, expiration date, and URL of cached content.


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.CreateCacheItemCollection( out IWMSCacheItemCollection ppCacheItemCollection )
    // Create a user-defined IWMSCacheItemCollection object.
    IWMSCacheItemCollectionImpl obj = new IWMSCacheItemCollectionImpl(this,DS.Tables["CachedItems"]);
    ppCacheItemCollection = obj as IWMSCacheItemCollection;
  catch(Exception e)
    throw new COMException();



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


IWMSCacheItemCollection Object (C#)

IWMSCacheItemDescriptor Object (C#)

IWMSCacheProxy Object (C#)