IWMSCacheItem::get_ContentSize

banner art

Previous Next

IWMSCacheItem::get_ContentSize

The get_ContentSize method retrieves the size of the content in bytes.

Syntax

  HRESULT get_ContentSize(
  
  VARIANT*
  
  varContentSize
  
  );

Parameters

varContentSize

[out] VARIANT of subtype CURRENCY (VT_CY) that contains the content size. CURRENCY is a 64-bit integer data type.

Return Values

If the method succeeds, it returns S_OK. If it fails, it returns an HRESULT error code.

Return code Number Description
E_POINTER 0x80004003 varContentSize is a NULL pointer argument.

Example Code

#include <windows.h>
#include <atlbase.h>    // Includes CComVariant.
#include "wmsserver.h"

// Declare variables and interfaces.
IWMSServer                  *pServer;
IWMSPlugins                 *pPlugins;
IWMSPlugin                  *pPlugin;
IWMSCacheProxyPlugin        *pCacheProxyPlugin;
IWMSCacheItems              *pCacheItems;
IWMSCacheItem               *pCacheItem;

HRESULT         hr;
CComVariant     varIndex;
CComVariant     varContentSize;
long            lCount;

// 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 an IWMSPlugins interface
// that contains cache proxy plug-ins.
hr = pServer->get_CacheProxy(&pPlugins);
if (FAILED(hr)) goto EXIT;
hr = pPlugins->get_Count(&lCount);
if (FAILED(hr)) goto EXIT;

// Retrieve the IWMSPlugin interface for the
// first cache proxy plug-in.
varIndex = 0;
hr = pPlugins->get_Item(varIndex, &pPlugin);
if (FAILED(hr)) goto EXIT;

// Retrieve a pointer to the IWMSCacheProxyPlugin interface.
hr = pPlugin->QueryInterface(IID_IWMSCacheProxyPlugin,
                            (void **)&pCacheProxyPlugin);
if (FAILED(hr)) goto EXIT;

// Retrieve a pointer to the IWMSCacheItems interface,
// and retrieve the count of cache items.
hr = pCacheProxyPlugin->get_CacheItems(&pCacheItems);
if (FAILED(hr)) goto EXIT;
hr = pCacheItems->get_Count(&lCount);
if (FAILED(hr)) goto EXIT;

// Retrieve the content size of each cache item.
for (long x = 0; x < lCount; x++) {
    varIndex = x;
    hr = pCacheItems->get_Item(varIndex, &pCacheItem);
    if (FAILED(hr)) goto EXIT;
    hr = pCacheItem->get_ContentSize(&varContentSize);
    if (FAILED(hr)) goto EXIT;

    // Release temporary COM objects.
    pCacheItem->Release();
}

EXIT:
    // TODO: Release temporary COM objects and uninitialize COM.

Requirements

Header: wmsserver.h.

Library: WMSServerTypeLib.dll.

Platform: Windows ServerĀ 2003 family, Windows ServerĀ 2008 family.

See Also

Previous Next