IWMSNamedValues::get_Item
The get_Item method retrieves a name-value pair from the IWMSNamedValues collection.
HRESULT get_Item(
const VARIANT varIndex,
IWMSNamedValue** pVal
);
Arguments
varIndex |
[in] VARIANT containing either the name portion of the name-value pair or an index into the collection. |
pVal |
[out] Pointer to a pointer to an IWMSNamedValueIWMSNamedValue Interface. You can use this interface to retrieve the name-value pair. 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 an invalid index location. |
E_POINTER |
0x80004003 |
pVal is a NULL pointer argument. |
Example
#include <windows.h>
#include <atlbase.h> // Includes CComBSTR and CComVariant.
#include "wmsserver.h"
// Declare variables and interfaces.
IWMSServer *pServer;
IWMSNamedValues *pNamedValues;
IWMSNamedValue *pNamedValue;
HRESULT hr;
CComVariant varIndex;
CComVariant varValue;
CComBSTR bstrName;
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 IWMSNamedValues interface
// containing descriptive information about the server.
hr = pServer->get_Properties(&pNamedValues);
if (FAILED(hr)) goto EXIT;
// Retrieve the total count of name-value pairs.
hr = pNamedValues->get_Count(&lCount);
if (FAILED(hr)) goto EXIT;
// Retrieve information about each name-value pair.
for (long x = 0; x < lCount; x++) {
varIndex = x;
hr = pNamedValues->get_Item(varIndex, &pNamedValue);
if (FAILED(hr)) goto EXIT;
// Retrieve the name associated with this pair.
hr = pNamedValue->get_Name(&bstrName);
if (FAILED(hr)) goto EXIT;
// Release temporary COM objects.
pNamedValue->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.