ValueMeaning
AnyDefault. The property subsystem will not enforce or coerce the property value. GetPropertyType returns VT_NULL. Independent software vendors (ISVs) are strongly encouraged to provide a type rather than fall back on this default.
NullThere is no value for this property. GetPropertyType returns VT_NULL.
StringThe value must be a VT_LPWSTR, which is a Unicode string terminated by a null reference.
BooleanThe value must be a VT_BOOL, which is a boolean.
ByteThe value must be a VT_UI1, which is a byte.
BufferThe value must be a VT_UI1 | VT_VECTOR buffer of bytes.
Int16The value must be a VT_I2, which is a 16-bit integer.
UInt16The value must be a VT_UI2, which is a 16-bit unsigned integer.
Int32The value must be a VT_I4, which is a 32-bit integer.
UInt32The value must be a VT_UI4, which is a 32-bit unsigned integer.
Int64The value must be a VT_I8, which is a 64-bit integer.
UInt64The value must be a VT_UI8, which is a 64-bit unsigned integer.
DoubleThe value must be a VT_R8, which is a double.
DateTimeThe value must be a VT_FILETIME, which is a FILETIME. GuidThe value must be a VT_CLSID, which is a class identifier (CLSID).
BlobThe value must be a VT_BLOB, which are length-prefixed bytes.
StreamThe value must be a VT_STREAM, which is an object that implements IStream. ClipboardThe value must be a VT_CF, which is a clipboard format.
ObjectThe value must be a VT_UNKNOWN, which is an object that implements IUnknown.