Función PropVariantGetElem (propvarutil.h)
Inicializa una estructura PROPVARIANT basada en un elemento especificado en otra estructura PROPVARIANT .
Sintaxis
HRESULT PropVariantGetElem(
[in] REFPROPVARIANT propvarIn,
[in] ULONG iElem,
[out] PROPVARIANT *ppropvar
);
Parámetros
[in] propvarIn
Tipo: REFPROPVARIANT
Referencia a la estructura PROPVARIANT de origen.
[in] iElem
Tipo: ULONG
Índice de un elemento de estructura PROPVARIANT en propvarIn.
[out] ppropvar
Tipo: PROPVARIANT*
Cuando esta función devuelve, contiene un PROPVARIANT con el valor especificado a partir de la estructura PROPVARIANT de origen.
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)
Se trata de una función insertada, con su código fuente proporcionado en el encabezado . No se incluye en ningún archivo .dll o .lib.
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 solo tiene un valor único, iElem debe ser 0.
Si el PROPVARIANT de origen está vacío, esta función siempre devuelve un código de error.
Ejemplos
En el ejemplo de código siguiente, que se va a incluir como parte de un programa mayor, se muestra cómo usar PropVariantGetElem en una instrucción de iteración para tener acceso a los valores de 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 ++)
{
<xref rid="_stg_propvariant"/>propvarElem = {0};
hr = PropVariantGetElem(propvar, iElem, &propvarElem);
if (SUCCEEDED(hr))
{
// propvarElem is valid now.
PropVariantClear(&propvarElem);
}
}
Requisitos
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 |
Redistribuible | Búsqueda de escritorio de Windows (WDS) 3.0 |