Export (0) Print
Expand All
Expand Minimize

PropVariantGetUInt16Elem function

Extracts a single unsigned Int16 element from a PROPVARIANT structure of type VT_U12, VT_VECTOR | VT_U12, or VT_ARRAY | VT_U12.

Syntax


HRESULT PropVariantGetUInt16Elem(
  _In_   REFPROPVARIANT propvar,
  _In_   ULONG iElem,
  _Out_  USHORT *pnVal
);

Parameters

propvar [in]

Type: REFPROPVARIANT

Reference to the source PROPVARIANT structure.

iElem [in]

Type: ULONG

The vector or array index; otherwise, iElem must be 0.

pnVal [out]

Type: USHORT*

When this function returns, contains the extracted element value.

Return value

Type: HRESULT

If this function succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.

Remarks

This helper function works for PROPVARIANT structures of the following types:

  • VT_UI2
  • VT_VECTOR | VT_UI2
  • VT_ARRAY | VT_UI2

If the source PROPVARIANT has type VT_UI2, iElem must be 0. Otherwise iElem must be less than the number of elements in the vector or array. You can use PropVariantGetElementCount to obtain the number of elements in the vector or array.

Examples

The following example, to be included as part of a larger program, demonstrates how to use PropVariantGetUInt16Elem with an iteration statement to access the values in a PROPVARIANT.


// PROPVARIANT propvar;
// Assume propvar is initialized and valid;

if ((propvar.vt & VT_TYPEMASK) == VT_UI2)
{
    UINT cElem = PropVariantGetElementCount(propvar);
    HRESULT hr = <mark type="const">S_OK</mark>;

    for (UINT iElem = 0; SUCCEEDED(hr) && iElem < cElem; iElem ++)
    {
        USHORT nValue;
        hr = PropVariantGetUInt16Elem(propvar, iElem, &nValue);

        if (SUCCEEDED(hr))
        {
            // nValue is valid now
        }
    }
}

Requirements

Minimum supported client

Windows XP with SP2, Windows Vista [desktop apps only]

Minimum supported server

Windows Server 2003 with SP1 [desktop apps only]

Redistributable

Windows Desktop Search (WDS) 3.0

Header

Propvarutil.h

Library

Propsys.lib

DLL

Propsys.dll (version 6.0 or later)

 

 

Community Additions

ADD
Show:
© 2014 Microsoft