Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Extracts an Int16 property value of a PROPVARIANT structure.
Syntax
PSSTDAPI PropVariantToInt16(
[in] REFPROPVARIANT propvarIn,
[out] SHORT *piRet
);
Parameters
[in] propvarIn
Type: REFPROPVARIANT
Reference to a source PROPVARIANT structure.
[out] piRet
Type: SHORT*
When this function returns, contains the extracted property value if one exists; otherwise, 0.
Return value
Type: HRESULT
If this function succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
Remarks
This helper function is used in places where the calling application expects a PROPVARIANT to hold an Int16 value. For instance, an application obtaining values from a property store can use this to safely extract the Int16 value for Int16 properties.
If the source PROPVARIANT has type VT_I2, this helper function extracts the Int16 value. Otherwise, it attempts to convert the value in the PROPVARIANT structure into an Int16. If a conversion is not possible, PropVariantToInt16 will return a failure code and set piRet to 0. See PropVariantChangeType for a list of possible conversions. Of note, VT_EMPTY is successfully converted to 0.
Examples
The following example, to be included as part of a larger program, demonstrates how to use PropVariantToInt16 to access an Int16 value in a PROPVARIANT.
// IPropertyStore *ppropstore;
// Assume variable ppropstore is initialized and valid
PROPVARIANT propvar = {0};
HRESULT hr = ppropstore->GetValue(PKEY_Image_ResolutionUnit, &propvar);
if (SUCCEEDED(hr))
{
// PKEY_Image_ResolutionUnit is expected to produce a VT_I2 or VT_EMPTY value.
// PropVariantToInt16 will convert VT_EMPTY to 0.
INT16 iUnit;
hr = PropVariantToInt16(propvar, & iUnit);
if (SUCCEEDED(hr))
{
// iUnit is now valid
}
else
{
// iUnit is always 0
}
PropVariantClear(&propvar);
}
Requirements
| Requirement | Value |
|---|---|
| Minimum supported client | Windows XP with SP2, Windows Vista [desktop apps only] |
| Minimum supported server | Windows Server 2003 with SP1 [desktop apps only] |
| Target Platform | Windows |
| Header | propvarutil.h |
| Library | Propsys.lib |
| DLL | Propsys.dll (version 6.0 or later) |
| Redistributable | Windows Desktop Search (WDS) 3.0 |