PropVariantToUInt32VectorAlloc function (propvarutil.h)
Extracts data from a PROPVARIANT structure into a newly-allocated ULONG vector.
Syntax
PSSTDAPI PropVariantToUInt32VectorAlloc(
[in] REFPROPVARIANT propvar,
[out] ULONG **pprgn,
[out] ULONG *pcElem
);
Parameters
[in] propvar
Type: REFPROPVARIANT
Reference to a source PROPVARIANT structure.
[out] pprgn
Type: ULONG**
When this function returns, contains a pointer to a vector of ULONG values extracted from the source PROPVARIANT structure.
[out] pcElem
Type: ULONG*
When this function returns, contains the count of ULONG values extracted from the source PROPVARIANT structure.
Return value
Type: HRESULT
This function can return one of these values.
Return code | Description |
---|---|
|
Returns S_OK if successful, or an error value otherwise. |
|
The PROPVARIANT was not of the appropriate type. |
Remarks
This helper function is used in places where the calling application expects a PROPVARIANT to hold a vector of ULONG values.
If the source PROPVARIANT has type VT_VECTOR | VT_UI4 or VT_ARRAY | VT_UI4, this function extracts a vector of ULONG values into a newly allocated vector. The calling application is responsible for using CoTaskMemFree to release the vector pointed to by pprgn when it is no longer needed.
Examples
The following example, to be included as part of a larger program, demonstrates how to use PropVariantToUInt32VectorAlloc to access a ULONG vector value in a PROPVARIANT.
// PROPVARIANT propvar;
// Assume the variable propvar is initialized and valid. The application is expecting propvar to contain a vector of ULONG values.
ULONG *prgLongs;
ULONG cElems;
HRESULT hr = PropVariantToUInt32VectorAlloc(propvar, &prgLongs, &cElems);
if (SUCCEEDED(hr))
{
// prgLongs now points to a vector of cElems ULONG.
CoTaskMemFree(prgLongs);
}
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 |