Función PropVariantToUInt32 (propvarutil.h)
Extrae un valor ULONG de una estructura PROPVARIANT . Si no se puede extraer ningún valor, se asigna un valor predeterminado.
Sintaxis
PSSTDAPI PropVariantToUInt32(
[in] REFPROPVARIANT propvarIn,
[out] ULONG *pulRet
);
Parámetros
[in] propvarIn
Tipo: REFPROPVARIANT
Referencia a una estructura PROPVARIANT de origen.
[out] pulRet
Tipo: ULONG*
Cuando esta función vuelve, contiene el valor de propiedad extraído si existe uno; de lo contrario, 0.
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 se usa en lugares donde la aplicación que realiza la llamada espera que un PROPVARIANT contenga un valor de ULONG . Por ejemplo, una aplicación que obtiene valores de un almacén de propiedades puede usarlo para extraer de forma segura el valor de ULONG para las propiedades UInt32.
Si el PROPVARIANT de origen tiene el tipo VT_UI4, esta función auxiliar extrae el valor de ULONG . De lo contrario, intenta convertir el valor en la estructura PROPVARIANT en un ULONG. Si no es posible una conversión, PropVariantToUInt32 devolverá un código de error y establecerá pulRet en 0. Consulte PropVariantChangeType para obtener una lista de las posibles conversiones. Tenga en cuenta que VT_EMPTY se convierte correctamente en 0.
Ejemplos
En el ejemplo siguiente, para incluirse como parte de un programa mayor, se muestra cómo usar PropVariantToUInt32 para tener acceso a un valor ULONG en un PROPVARIANT.
// IPropertyStore *ppropstore;
// Assume variable ppropstore is initialized and valid
PROPVARIANT propvar = {0};
HRESULT hr = ppropstore->GetValue(PKEY_Rating, &propvar);
if (SUCCEEDED(hr))
{
// PKEY_Rating is expected to produce a VT_UI4 or VT_EMPTY value.
// PropVariantToUInt32 will convert VT_EMPTY to 0.
ULONG uRating;
hr = PropVariantToUInt32(propvar, &uRating);
if (SUCCEEDED(hr))
{
// uRating is now valid
}
else
{
// uRating is always 0
}
PropVariantClear(&propvar);
}
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 |