PROPVARIANT and VARIANT Functions

This section describes a set of Windows Shell conversion and helper functions used with PROPVARIANT and VARIANT types.

Topic Contents
ClearPropVariantArray Frees the memory and references used by an array of PROPVARIANT structures stored in an array.
ClearVariantArray Frees the memory and references used by an array of VARIANT structures stored in an array.
FreePropVariantArray Frees the memory and references used by an array of PROPVARIANT structures.
InitPropVariantFromBoolean Initializes a given PROPVARIANT structure as a VT_BOOL using a specified Boolean value.
InitPropVariantFromBooleanVector Initializes a PROPVARIANT structure from a specified Boolean vector.
InitPropVariantFromBuffer Initializes a PROPVARIANT structure using the contents of a buffer.
InitPropVariantFromCLSID Initializes a PROPVARIANT structure based on a class identifier (CLSID).
InitPropVariantFromDouble Initializes a PROPVARIANT structure based on a specified double value.
InitPropVariantFromDoubleVector Initializes a PROPVARIANT structure based on a specified vector of double values.
InitPropVariantFromFileTime Initializes a PROPVARIANT structure based on information stored in a FILETIME structure.
InitPropVariantFromFileTimeVector Initializes a PROPVARIANT structure from a specified vector of FILETIME values.
InitPropVariantFromGUIDAsBuffer Initializes a PROPVARIANT structure based on a GUID. The structure is initialized as VT_VECTOR | VT_UI1.
InitPropVariantFromGUIDAsString Initializes a PROPVARIANT structure based on a GUID. The structure is initialized as VT_LPWSTR.
InitPropVariantFromInt16 Initializes a PROPVARIANT structure based on a 16-bit integer value.
InitPropVariantFromInt16Vector Initializes a PROPVARIANT structure based on a specified vector of 16-bit integer values.
InitPropVariantFromInt32 Initializes a PROPVARIANT structure based on a 32-bit integer value.
InitPropVariantFromInt32Vector Initializes a PROPVARIANT structure based on a vector of 32-bit integer values.
InitPropVariantFromInt64 Initializes a PROPVARIANT structure based on a specified Int64 value.
InitPropVariantFromInt64Vector Initializes a PROPVARIANT structure based on a vector of Int64 values.
InitPropVariantFromPropVariantVectorElem Initializes a PROPVARIANT structure based on a specified PROPVARIANT vector element.
InitPropVariantFromResource Initializes a PROPVARIANT structure based on a string resource embedded in an executable file.
InitPropVariantFromString Initializes a PROPVARIANT structure based on a specified string.
InitPropVariantFromStringAsVector Initializes a PROPVARIANT structure from a specified string. The string is parsed as a semi-colon delimited list (for example: "A;B;C").
InitPropVariantFromStringVector Initializes a PROPVARIANT structure from a specified string vector.
InitPropVariantFromStrRet Initializes a PROPVARIANT structure based on a string stored in a STRRET structure.
InitPropVariantFromUInt16 Initializes a PROPVARIANT structure based on a 16-bit unsigned integer value.
InitPropVariantFromUInt16Vector Initializes a PROPVARIANT structure based on a vector of 16-bit unsigned integer values.
InitPropVariantFromUInt32 Initializes a PROPVARIANT structure based on a 32-bit unsigned integer value.
InitPropVariantFromUInt32Vector Initializes a PROPVARIANT structure based on a vector of 32-bit unsigned integer values.
InitPropVariantFromUInt64 Initializes a PROPVARIANT structure with a 64-bit unsigned integer value.
InitPropVariantFromUInt64Vector Initializes a PROPVARIANT structure based on a vector of 64-bit unsigned integers.
InitPropVariantVectorFromPropVariant Initializes a vector element in a PROPVARIANT structure with a value stored in another PROPVARIANT.
InitVariantFromBoolean Initializes a VARIANT structure with a Boolean value.
InitVariantFromBooleanArray Initializes a VARIANT structure from an array of Boolean values.
InitVariantFromBuffer Initializes a VARIANT structure with the contents of a buffer.
InitVariantFromDispatch Initializes a VARIANT structure based on an instance of an IDispatch object.
InitVariantFromDosDateTime Initializes a VARIANT structure with a date and time given in the format used by Microsoft MS-DOS. The date and time values are converted to the format used to store date and time in a VARIANT.
InitVariantFromDouble Initializes a VARIANT structure with a value of type DOUBLE.
InitVariantFromDoubleArray Initializes a VARIANT structure with an array of values of type DOUBLE.
InitVariantFromFileTime Initializes a VARIANT structure with the contents of a FILETIME structure.
InitVariantFromFileTimeArray Initializes a VARIANT structure with an array of FILETIME structures.
InitVariantFromGUIDAsBuffer Initializes a VARIANT structure based on a GUID. The structure is initialized as VT_ARRAY | VT_UI1.
InitVariantFromInt16 Initializes a PROPVARIANT structure based on a 16-bit integer value.
InitVariantFromInt16Array Initializes a VARIANT structure with an array of 16-bit integer values.
InitVariantFromInt32 Initializes a PROPVARIANT structure based on a 32-bit integer value.
InitVariantFromInt32Array Initializes a VARIANT structure with an array of 32-bit integer values.
InitVariantFromInt64 Initializes a VARIANT structure with a 64-bit integer value.
InitVariantFromInt64Array Initializes a VARIANT structure with an array of 64-bit integer values.
InitVariantFromResource Initializes a VARIANT structure based on a string resource imbedded in an executable file.
InitVariantFromString Initializes a VARIANT structure with a string.
InitVariantFromStringArray Initializes a VARIANT structure with an array of strings.
InitVariantFromStrRet Initializes a VARIANT structure with a string stored in a STRRET structure.
InitVariantFromUInt16 Initializes a VARIANT structure with an unsigned 16-bit integer value.
InitVariantFromUInt16Array Initializes a VARIANT structure with an array of unsigned 16-bit integer values.
InitVariantFromUInt32 Initializes a VARIANT structure with an unsigned 32-bit integer value.
InitVariantFromUInt32Array Initializes a VARIANT structure with an array of unsigned 32-bit integer values.
InitVariantFromUInt64 Initializes a VARIANT structure with an unsigned 64-bit integer value.
InitVariantFromUInt64Array Initializes a VARIANT structure with an unsigned 64-bit integer value.
InitVariantFromVariantArrayElem Initializes a VARIANT structure with a value stored in another VARIANT structure.
IsPropVariantString Specifies whether a specified PROPVARIANT structure is a string type.
IsPropVariantVector Specifies whether a PROPVARIANT structure has a vector type.
IsVariantArray Specifies whether a variant is an array.
IsVariantString Specifies whether a variant is a string.
IsVarTypeFloat Returns whether a VARTYPE is a float.
IsVarTypeInteger Returns whether a VARTYPE is an integer.
IsVarTypeNumber Specifies whether VARTYPE is a number.
IsVarTypeSignedInteger Returns whether a VARTYPE is a signed integer.
IsVarTypeUnsignedInteger Returns whether a VARTYPE is an unsigned integer.
PropVariantChangeType Coerces a value stored as a PROPVARIANT structure to an equivalent value of a different variant type.
PropVariantClear Clears a PROPVARIANT structure.
PropVariantCompare Compares two PROPVARIANT structures, based on default comparison units and settings.
PropVariantCompareEx Extends PropVariantCompare by allowing the caller to compare two PROPVARIANT structures based on specified comparison units and flags.
PropVariantCopy Creates a copy of a PROPVARIANT structure.
PropVariantGetBooleanElem Extracts a single Boolean element from a PROPVARIANT structure of type VT_BOOL, VT_VECTOR | VT_BOOL, or VT_ARRAY | VT_BOOL.
PropVariantGetDoubleElem Extracts a single double element from a PROPVARIANT structure of type VT_R8, VT_VECTOR | VT_R8, or VT_ARRAY | VT_R8.
PropVariantGetElem Initializes a PROPVARIANT structure based on a specified element in another PROPVARIANT structure.
PropVariantGetElementCount Retrieves the element count of a PROPVARIANT structure.
PropVariantGetFileTimeElem Extracts a single FILETIME element from a PROPVARIANT structure of type VT_FILETIME, VT_VECTOR | VT_FILETIME, or VT_ARRAY | VT_FILETIME.
PropVariantGetInt16Elem Extracts a single Int16 element from a PROPVARIANT structure of type VT_I2, VT_VECTOR | VT_I2, or VT_ARRAY | VT_I2.
PropVariantGetInt32Elem Extracts a single Int32 element from a PROPVARIANT of type VT_I4, VT_VECTOR | VT_I4, or VT_ARRAY | VT_I4.
PropVariantGetInt64Elem Extracts a single Int64 element from a PROPVARIANT structure of type VT_I8, VT_VECTOR | VT_I8, or VT_ARRAY | VT_I8.
PropVariantGetStringElem Extracts a single Unicode string element from a PROPVARIANT structure of type VT_LPWSTR, VT_BSTR, VT_VECTOR | VT_LPWSTR, VT_VECTOR | VT_BSTR, or VT_ARRAY | VT_BSTR.
PropVariantGetUInt16Elem Extracts a single unsigned Int16 element from a PROPVARIANT structure of type VT_U12, VT_VECTOR | VT_U12, or VT_ARRAY | VT_U12.
PropVariantGetUInt32Elem Extracts a single unsigned Int32 element from a PROPVARIANT structure of type VT_UI4, VT_VECTOR | VT_UI4, or VT_ARRAY | VT_UI4.
PropVariantGetUInt64Elem Extracts a single unsigned Int64 element from a PROPVARIANT structure of type VT_UI8, VT_VECTOR | VT_UI8, or VT_ARRAY | VT_UI8.
PropVariantToBoolean Extracts a Boolean property value of a PROPVARIANT structure. If no value can be extracted, then a default value is assigned.
PropVariantToBooleanVector Extracts a Boolean vector from a PROPVARIANT structure.
PropVariantToBooleanVectorAlloc Extracts data from a PROPVARIANT structure into a newly allocated Boolean vector.
PropVariantToBooleanWithDefault Extracts the Boolean property value of a PROPVARIANT structure. If no value exists, then the specified default value is returned.
PropVariantToBSTR Extracts the BSTR property value of a PROPVARIANT structure.
PropVariantToBuffer Extracts the buffer value from a PROPVARIANT structure of type VT_VECTOR | VT_UI1 or VT_ARRRAY | VT_UI1.
PropVariantToCLSID Extracts CLSID property value of a PROPVARIANT structure.
PropVariantToDouble Extracts double value from a PROPVARIANT structure.
PropVariantToDoubleVector Extracts a vector of doubles from a PROPVARIANT structure.
PropVariantToDoubleVectorAlloc Extracts data from a PROPVARIANT structure into a newly-allocated double vector.
PropVariantToDoubleWithDefault Extracts a double property value of a PROPVARIANT structure. If no value exists, then the specified default value is returned.
PropVariantToFileTime Extracts the FILETIME structure from a PROPVARIANT structure.
PropVariantToFileTimeVector Extracts data from a PROPVARIANT structure into a FILETIME vector.
PropVariantToFileTimeVectorAlloc Extracts data from a PROPVARIANT structure into a newly-allocated FILETIME vector.
PropVariantToGUID Extracts a GUID value from a PROPVARIANT structure.
PropVariantToInt16 Extracts an Int16 property value of a PROPVARIANT structure.
PropVariantToInt16Vector Extracts a vector of Int16 values from a PROPVARIANT structure.
PropVariantToInt16VectorAlloc Extracts data from a PROPVARIANT structure into a newly allocated Int16 vector.
PropVariantToInt16WithDefault Extracts the Int16 property value of a PROPVARIANT structure. If no value currently exists, then specified default value is returned.
PropVariantToInt32 Extracts the Int32 property value of a PROPVARIANT structure. If no value can be extracted, then a default value is assigned.
PropVariantToInt32Vector Extracts a vector of long values from a PROPVARIANT structure.
PropVariantToInt32VectorAlloc Extracts data from a PROPVARIANT structure into a newly-allocated Int32 vector.
PropVariantToInt32WithDefault Extracts a ULONG value from a PROPVARIANT structure. If no value exists, then a specified default value is returned.
PropVariantToInt64 Extracts a LONGLONG value from a PROPVARIANT structure. If no value can be extracted, then a default value is assigned.
PropVariantToInt64Vector Extracts data from a PROPVARIANT structure into an Int64 vector.
PropVariantToInt64VectorAlloc Extracts data from a PROPVARIANT structure into a newly-allocated LONGLONG vector.
PropVariantToInt64WithDefault Extracts the Int64 property value of a PROPVARIANT structure. If no value exists, then specified default value is returned.
PropVariantToString Extracts a string value from a PROPVARIANT structure.
PropVariantToStringAlloc Extracts a string property value from a PROPVARIANT structure.
PropVariantToStringVector Extracts a vector of strings from a PROPVARIANT structure.
PropVariantToStringVectorAlloc Extracts data from a PROPVARIANT structure into a newly allocated strings in a newly allocated vector.
PropVariantToStringWithDefault Extracts the string property value of a PROPVARIANT structure. If no value exists, then the specified default value is returned.
PropVariantToStrRet Extracts a string from a PROPVARIANT structure and places it into a STRRET structure.
PropVariantToUInt16 Extracts a unsigned short value from a PROPVARIANT structure. If no value can be extracted, then a default value is assigned.
PropVariantToUInt16Vector Initializes a PROPVARIANT structure based on a 16-bit unsigned integer value.
PropVariantToUInt16VectorAlloc Extracts data from a PROPVARIANT structure into an unsigned short vector.
PropVariantToUInt16WithDefault Extracts an unsigned short value from a PROPVARIANT structure. If no value exists, then the specified default value is returned.
PropVariantToUInt32 Extracts an ULONG value from a PROPVARIANT structure. If no value can be extracted, then a default value is assigned.
PropVariantToUInt32Vector Extracts data from a PROPVARIANT structure into an ULONG vector.
PropVariantToUInt32VectorAlloc Extracts data from a PROPVARIANT structure into a newly-allocated ULONG vector.
PropVariantToUInt32WithDefault Extracts a ULONG value from a PROPVARIANT structure. If no value exists, then a specified default value is returned.
PropVariantToUInt64 Extracts a UInt64 value from a PROPVARIANT structure. If no value can be extracted, then a default value is assigned.
PropVariantToUInt64Vector Extracts data from a PROPVARIANT structure into a ULONGLONG vector.
PropVariantToUInt64VectorAlloc Extracts data from a PROPVARIANT structure into a newly-allocated ULONGLONG vector.
PropVariantToUInt64WithDefault Extracts ULONGLONG value from a PROPVARIANT structure. If no value exists, then the specified default value is returned.
PropVariantToVariant Converts the contents of a PROPVARIANT structure to a VARIANT structure.
StgDeserializePropVariant Deserializes a specified SERIALIZEDPROPERTYVALUE structure, creating a PROPVARIANT structure.
StgSerializePropVariant Serializes a specified PROPVARIANT structure, creating a SERIALIZEDPROPERTYVALUE structure.
VariantCompare Compares two variant structures, based on default comparison rules.
VariantGetBooleanElem Extracts a single Boolean element from a variant structure.
VariantGetDoubleElem Extracts one double element from a variant structure.
VariantGetElem Initializes a VARIANT structure from a specified variant element.
VariantGetElementCount Retrieves the element count of a variant structure.
VariantGetInt16Elem Extracts a single Int16 element from a variant structure.
VariantGetInt32Elem Extracts a single Int32 element from a variant structure.
VariantGetInt64Elem Extracts a single Int64 element from a variant structure.
VariantGetStringElem Extracts a single wide string element from a variant structure.
VariantGetUInt16Elem Extracts a single unsigned Int16 element from a variant structure.
VariantGetUInt32Elem Extracts a single unsigned Int32 element from a variant structure.
VariantGetUInt64Elem Extracts a single unsigned Int64 element from a variant structure.
VariantToBoolean Extracts the value of a Boolean property from a VARIANT structure. If no value can be extracted, then a default value is assigned.
VariantToBooleanArray Extracts an array of Boolean values from a VARIANT structure.
VariantToBooleanArrayAlloc Allocates an array of BOOL values then extracts data from a VARIANT structure into that array.
VariantToBooleanWithDefault Extracts a BOOL value from a VARIANT structure. If no value exists, then the specified default value is returned.
VariantToBuffer Extracts the contents of a buffer stored in a VARIANT structure of type VT_ARRRAY | VT_UI1.
VariantToDosDateTime Extracts a date and time value in MS-DOS format from a VARIANT structure.
VariantToDouble Extracts a DOUBLE value from a VARIANT structure. If no value can be extracted, then a default value is assigned.
VariantToDoubleArray Extracts an array of DOUBLE values from a VARIANT structure.
VariantToDoubleArrayAlloc Allocates an array of DOUBLE values then extracts data from a VARIANT structure into that array.
VariantToDoubleWithDefault Extracts a DOUBLE value from a VARIANT structure. If no value exists, then the specified default value is returned.
VariantToFileTime Extracts a FILETIME structure from a variant structure.
VariantToGUID Extracts a GUID property value of a variant structure.
VariantToInt16 Extracts an unsigned Int16 property value of a variant structure. If no value can be extracted, then a default value is assigned by this function.
VariantToInt16Array Extracts data from a vector structure into an Int16 array.
VariantToInt16ArrayAlloc Extracts data from a vector structure into a newly-allocated Int16 array.
VariantToInt16WithDefault Extracts an Int16 property value of a variant structure. If no value exists, then the specified default value is returned.
VariantToInt32 Extracts an Int32 property value of a variant structure. If no value can be extracted, then a default value is assigned.
VariantToInt32Array Extracts data from a vector structure into an Int32 array.
VariantToInt32ArrayAlloc Extracts data from a vector structure into a newly-allocated Int32 array.
VariantToInt32WithDefault Extracts an Int32 property value of a variant structure. If no value exists, then the specified default value is returned.
VariantToInt64 Extracts an Int64 property value of a variant structure. If no value can be extracted, then a default value is assigned.
VariantToInt64Array Extracts data from a vector structure into an Int64 array.
VariantToInt64ArrayAlloc Extracts data from a vector structure into a newly-allocated Int64 array.
VariantToInt64WithDefault Extracts an Int64 property value of a variant structure. If no value exists, then the specified default value is returned.
VariantToPropVariant Copies the contents of a VARIANT structure to a PROPVARIANT structure.
VariantToString Extracts the variant value of a variant structure to a string. If no value can be extracted, then a default value is assigned.
VariantToStringAlloc Extracts the variant value of a variant structure to a newly-allocated string. If no value can be extracted, then a default value is assigned.
VariantToStringArray Extracts data from a vector structure into a string array.
VariantToStringArrayAlloc Extracts data from a vector structure into a newly-allocated string array.
VariantToStringWithDefault Extracts the string property value of a variant structure. If no value exists, then the specified default value is returned.
VariantToStrRet If the source variant is a VT_BSTR, extracts string and places it into a STRRET structure.
VariantToUInt16 Extracts an unsigned Int16 property value of a variant structure. If no value can be extracted, then a default value is assigned by this function.
VariantToUInt16Array Extracts data from a vector structure into an unsigned Int16 array.
VariantToUInt16ArrayAlloc Extracts data from a vector structure into a newly-allocated unsigned Int16 array.
VariantToUInt16WithDefault Extracts an unsigned Int16 property value of a variant structure. If no value exists, then the specified default value is returned.
VariantToUInt32 Extracts unsigned Int32 property value of a variant structure. If no value can be extracted, then a default value is assigned.
VariantToUInt32Array Extracts data from a vector structure into an unsigned Int32 array.
VariantToUInt32ArrayAlloc Extracts data from a vector structure into a newly-allocated unsigned Int32 array.
VariantToUInt32WithDefault Extracts an unsigned Int32 property value of a variant structure. If no value currently exists, then the specified default value is returned.
VariantToUInt64 Extracts unsigned Int64 property value of a variant structure. If no value can be extracted, then a default value is assigned.
VariantToUInt64Array Extracts data from a vector structure into an unsigned Int64 array.
VariantToUInt64ArrayAlloc Extracts data from a vector structure into a newly-allocated unsigned Int64 array.
VariantToUInt64WithDefault Extracts an unsigned Int64 property value of a variant structure. If no value currently exists, then the specified default value is returned.

 

Property Bag Functions

Functions