Función PropVariantToUInt64Vector (propvarutil.h)
Extrae datos de una estructura PROPVARIANT en un vector ULONGLONG .
Sintaxis
PSSTDAPI PropVariantToUInt64Vector(
[in] REFPROPVARIANT propvar,
[out] ULONGLONG *prgn,
[in] ULONG crgn,
[out] ULONG *pcElem
);
Parámetros
[in] propvar
Tipo: REFPROPVARIANT
Referencia a una estructura PROPVARIANT de origen.
[out] prgn
Tipo: ULONGLONG*
Apunta a un búfer que contiene valores de ULONGLONG de crgn. Cuando esta función devuelve, el búfer se ha inicializado con elementos pcElemULONGLONG extraídos del PROPVARIANT de origen.
[in] crgn
Tipo: ULONG
Tamaño del búfer al que apunta prgn, en elementos.
[out] pcElem
Tipo: ULONG*
Cuando esta función devuelve, contiene el recuento de valores de ULONGLONG extraídos de la estructura PROPVARIANT de origen.
Valor devuelto
Tipo: HRESULT
Esta función puede devolver uno de estos valores.
Código devuelto | Descripción |
---|---|
|
Devuelve S_OK si se ejecuta correctamente o un valor de error de lo contrario. |
|
El PROPVARIANT de origen contenía más de valores crgn . Búfer al que apunta prgn. |
|
El PROPVARIANT no era del tipo adecuado. |
Comentarios
Esta función auxiliar se usa en lugares donde la aplicación que realiza la llamada espera que un PROPVARIANT contenga un vector de valores de ULONGLONG con un número fijo de elementos.
Si el PROPVARIANT de origen tiene VT_VECTOR VT_UI8 | oVT_ARRAY VT_UI8 | , esta función auxiliar extrae hasta valores ULONG de crgn y los coloca en el búfer al que apunta prgn. Si el PROPVARIANT contiene más elementos de los que caberán en el búfer de prgn , esta función devuelve un error y establece pcElem en 0.
Ejemplos
En el ejemplo siguiente, para incluirse como parte de un programa más grande, se muestra cómo usar PropVariantToUInt64Vector para tener acceso a un valor de vector ULONGLONG en un PROPVARIANT.
// PROPVARIANT propvar;
// Assume the variable propvar is initialized and valid
ULONGLONG rgLongs[4]; // The application is expecting propvar to hold 4 ULONGLONGs in a vector
ULONG cElems;
HRESULT hr = PropVariantToUInt64Vector(propvar, rgLongs, ARRAYSIZE(rgLongs), &cElems);
if (SUCCEEDED(hr))
{
if (cElems == ARRAYSIZE(rgLongs))
{
// The application got 4 ULONGLONGs which are now stored in rgLongs
}
else
{
// The application got cElems which are stored in the first cElems elements of rgLongs
}
}
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
InitPropVariantFromUInt64Vector