IWMSCacheItems::get_Item
The get_Item method retrieves an IWMSCacheItemIWMSCacheItem Interface, as specified by the index.
HRESULT get_Item(
const VARIANT varIndex,
IWMSCacheItem** pVal
);
Arguments
varIndex |
[in] VARIANT that contains the index of an IWMSCacheItem interface. |
pVal |
[out] Pointer to a pointer to an IWMSCacheItem interface. This method calls AddRef internally. To avoid memory leaks, you must call Release when you are finished using the interface. |
Return Value
If the method succeeds, it returns S_OK. If it fails, it returns an HRESULT error code.
Return code |
Number |
Description |
---|---|---|
DISP_E_BADINDEX |
0x8002000B |
varIndex is not a valid index location. |
E_POINTER |
0x80004003 |
pVal is a NULL pointer argument. |
Example
#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
// containing 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 information on 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.