Función PropVariantToInt32 (propvarutil.h)
Extrae el valor de la propiedad Int32 de una estructura PROPVARIANT . Si no se puede extraer ningún valor, se asigna un valor predeterminado.
Sintaxis
PSSTDAPI PropVariantToInt32(
[in] REFPROPVARIANT propvarIn,
[out] LONG *plRet
);
Parámetros
[in] propvarIn
Tipo: REFPROPVARIANT
Referencia a una estructura PROPVARIANT de origen.
[out] plRet
Tipo: LONG*
Cuando se devuelve esta función, contiene el valor 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 Int32 . Por ejemplo, una aplicación que obtiene valores de un almacén de propiedades puede usarla para extraer de forma segura el valor Int32 de las propiedades Int32 .
Si el PROPVARIANT de origen tiene el tipo VT_I4, esta función auxiliar extrae el valor largo . De lo contrario, intenta convertir el valor de la estructura PROPVARIANT en un valor long. Si no es posible una conversión, PropVariantToInt32 devolverá un código de error y establecerá plRet en 0. Consulte PropVariantChangeType para obtener una lista de las posibles conversiones. Tenga en cuenta que VT_EMPTY se convierte correctamente en 0.
Ejemplos
// IPropertyStore *ppropstore;
// Assume variable ppropstore is initialized and valid
PROPVARIANT propvar = {0};
HRESULT hr = ppropstore->GetValue(PKEY_FlagStatus, &propvar);
if (SUCCEEDED(hr))
{
// PKEY_FlagStatus is expected to produce a VT_I4 or VT_EMPTY value.
// PropVariantToInt32 will convert VT_EMPTY to 0.
INT32 iStatus;
hr = PropVariantToInt32(propvar, &iStatus);
if (SUCCEEDED(hr))
{
// iStatus is now valid
}
else
{
// iStatus 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 | Windows Desktop Search (WDS) 3.0 |