Compartir a través de


Función InitPropVariantFromPropVariantVectorElem (propvarutil.h)

Inicializa una estructura PROPVARIANT basada en un elemento vectorial PROPVARIANT especificado.

Sintaxis

PSSTDAPI InitPropVariantFromPropVariantVectorElem(
  [in]  REFPROPVARIANT propvarIn,
  [in]  ULONG          iElem,
  [out] PROPVARIANT    *ppropvar
);

Parámetros

[in] propvarIn

Tipo: REFPROPVARIANT

Estructura PROPVARIANT de origen.

[in] iElem

Tipo: ULONG

Índice del elemento de estructura PROPVARIANT de origen.

[out] ppropvar

Tipo: PROPVARIANT*

Cuando se devuelve esta función, contiene la estructura PROPVARIANT inicializada.

Valor devuelto

Tipo: HRESULT

Si esta función se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

Esta función auxiliar funciona para estructuras PROPVARIANT de los siguientes tipos:

  • VT_LPWSTR
  • VT_BSTR
  • VT_BOOL
  • VT_I2
  • VT_I4
  • VT_I8
  • VT_U12
  • VT_U14
  • VT_U18
  • VT_FILETIME
  • VT_VECTOR | (cualquiera de VT_LPWSTR, VT_BSTR, VT_BOOL, VT_I2, VT_I4, VT_I8, VT_U12, VT_U14, VT_U18, VT_FILETIME)
  • VT_ARRAY | (cualquiera de VT_BSTR, VT_BOOL, VT_I2, VT_I4, VT_I8, VT_U12, VT_U14, VT_U18)
Es posible que se admita más tipos en el futuro.

Esta función extrae un único valor de la estructura PROPVARIANT de origen y usa ese valor para inicializar la estructura PROPVARIANT de salida. La aplicación que realiza la llamada debe usar PropVariantClear para liberar el PROPVARIANT al que hace referencia ppropvar cuando ya no es necesario.

Si el PROPVARIANT de origen es un vector o matriz, iElem debe ser menor que el número de elementos del vector o matriz.

Si el PROPVARIANT de origen tiene un único valor, iElem debe ser 0.

Si el PROPVARIANT de origen está vacío, esta función siempre devuelve un código de error.

Puede usar PropVariantGetElementCount para obtener el número de elementos en el vector o matriz.

Ejemplos

En el ejemplo de código siguiente, que se va a incluir como parte de un programa mayor, se muestra cómo usar InitPropVariantFromPropVariantVectorElem en una instrucción de iteración para tener acceso a los valores de un PROPVARIANT.

// PROPVARIANT propvar;
// Assume propvar is initialized and valid.
UINT cElem = PropVariantGetElementCount(propvar);
HRESULT hr = <mark type="const">S_OK</mark>;

for (UINT iElem = 0; SUCCEEDED(hr) && iElem < cElem; iElem ++)
{
    PROPVARIANT propvarElem = {0};

    hr = InitPropVariantFromPropVariantVectorElem(propvar, iElem, &propvarElem);

    if (SUCCEEDED(hr))
    {
        // propvarElem is now valid.

        PropVariantClear(&propvarElem);
    }
}

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP con SP2, Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 con SP1 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado propvarutil.h
Library Propsys.lib
Archivo DLL Propsys.dll (versión 6.0 o posterior)
Redistribuible Búsqueda de escritorio de Windows (WDS) 3.0

Consulte también

PropVariantGetElem