IWMSPlugins::get_Item

banner art

Previous Next

IWMSPlugins::get_Item

The get_Item method retrieves an IWMSPlugin interface from the IWMSPlugins collection.

Syntax

  HRESULT get_Item(
  const VARIANT  varIndex,
  IWMSPlugin**  pVal
);

Parameters

varIndex

[in] VARIANT containing the index or name of the plug-in.

pVal

[out] Pointer to a pointer to an IWMSPlugin interface. This method calls AddRef internally. To avoid memory leaks, you must call Release when you are finished using the interface.

Return Values

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 an invalid index location.
E_POINTER 0x80004003 pVal is a NULL pointer argument.

Remarks

You can use the IWMSPlugin::get_Name method to find the plug-in name.

Example Code

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

// Declare variables and interfaces.
IWMSServer      *pServer;
IWMSPlugins     *pPlugins;
IWMSPlugin      *pPlugin;

HRESULT         hr;
CComVariant     varIndex;
CComBSTR        bstrText;
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
// and retrieve the total count of plug-ins.
hr = pServer->get_EventHandlers(&pPlugins);
if (FAILED(hr)) goto EXIT;
hr = pPlugins->get_Count(&lCount);
if (FAILED(hr)) goto EXIT;

// Retrieve information about each plug-in.
for (long x = 0; x < lCount; x++)
{
    varIndex = x;
    hr = pPlugins->get_Item(varIndex, &pPlugin);
    if (FAILED(hr)) goto EXIT;

    // Retrieve the name of the plug-in.
    hr = pPlugin->get_Name(&bstrText);
    if (FAILED(hr)) goto EXIT;

    // Release temporary COM objects.
    pPlugin->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