Share via


IWMSCacheItemCollection.GetItem (C#)

banner art

Previous Next

IWMSCacheItemCollection.GetItem (C#)

The GetItem method gets a cache descriptor object.

Syntax

  

Parameters

lIndex

[in] int containing the index into the collection.

ppCacheItemDescriptor

[out] IWMSCacheItemDescriptor object.

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.

Remarks

The IWMSCacheItemDescriptor object retrieves the size, version number, expiration date, and URL of cached content.

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 IWMSCacheItemCollection.GetItem(int index, out IWMSCacheItemDescriptor cacheItem)
{
  cacheItem = null;
  try
  {
    // Retrieve an array made up of all of the rows
    // in the user-defined DataTable object. Each row
    // represents one IWMSCacheDescriptor object.
    DataRow[] rows = DT.Select();

    // If the index is less than zero or greater than the
    // number of objects in the collection, throw an exception.
    if((index <0)||(index >= rows.Length))
    {
      throw new COMException();
    }
    // Retrieve the appropriate IWMSCacheDescriptor object.
    cacheItem = new IWMSCacheItemDescriptorImpl(this,rows[index]) as IWMSCacheItemDescriptor;
  }
  catch(Exception e)
  {
    throw new COMException("NO ERROR",1);
  }
}

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