PROPSYS Functions

The large table on this page is this study’s master list of functions that appear in the export directory of any known version of PROPSYS. It gives for each function just brief summaries of the applicable PROPSYS versions and of the function’s status with respect to Microsoft’s documentation. Additional explanatory notes follow the table.

Function Applicable Versions Documentation Status
ClearPropVariantArray 6.0 and higher documented
ClearVariantArray 6.0 and higher documented
CreateSnippet (433) 7.0 from Windows 7, and higher  
DllCanUnloadNow 6.0 and higher (documented)
DllGetClassObject 6.0 and higher (documented)
DllRegisterServer 6.0 and higher (documented)
DllUnregisterServer 6.0 and higher (documented)
GetDefaultKindsForExtension (418) (430) 7.0 from Windows 7, and higher  
GetDefaultLocationKindsForExtension (431) 7.0 from Windows 7, and higher  
GetDefaultVisibleInForExtension (418) 6.0 up to but not including 7.0 from Windows 7  
GetProxyDllInfo 6.0 and higher documented
InitPropVariantFromBooleanVector 6.0 and higher documented
InitPropVariantFromBuffer 6.0 and higher documented
InitPropVariantFromCLSID 6.0 and higher documented
InitPropVariantFromDateVector (402) 6.0 and higher  
InitPropVariantFromDoubleVector 6.0 and higher documented
InitPropVariantFromFileTime 6.0 and higher documented
InitPropVariantFromFileTimeVector 6.0 and higher documented
InitPropVariantFromGUIDAsString 6.0 and higher documented
InitPropVariantFromInt16Vector 6.0 and higher documented
InitPropVariantFromInt32Vector 6.0 and higher documented
InitPropVariantFromInt64Vector 6.0 and higher documented
InitPropVariantFromPropVariantVectorElem 6.0 and higher documented
InitPropVariantFromResource 6.0 and higher documented
InitPropVariantFromStreamAsBlob (411) 6.0 and higher  
InitPropVariantFromStringAsVector 6.0 and higher documented
InitPropVariantFromStringVector 6.0 and higher documented
InitPropVariantFromStrRet 6.0 and higher documented
InitPropVariantFromUInt16Vector 6.0 and higher documented
InitPropVariantFromUInt32Vector 6.0 and higher documented
InitPropVariantFromUInt64Vector 6.0 and higher documented
InitPropVariantVectorFromPropVariant 6.0 and higher documented
InitVariantFromBooleanArray 6.0 and higher documented
InitVariantFromBuffer 6.0 and higher documented
InitVariantFromDoubleArray 6.0 and higher documented
InitVariantFromFileTime 6.0 and higher documented
InitVariantFromFileTimeArray 6.0 and higher documented
InitVariantFromGUIDAsString 6.0 and higher documented
InitVariantFromInt16Array 6.0 and higher documented
InitVariantFromInt32Array 6.0 and higher documented
InitVariantFromInt64Array 6.0 and higher documented
InitVariantFromResource 6.0 and higher documented
InitVariantFromStringArray 6.0 and higher documented
InitVariantFromStrRet 6.0 and higher documented
InitVariantFromUInt16Array 6.0 and higher documented
InitVariantFromUInt32Array 6.0 and higher documented
InitVariantFromUInt64Array 6.0 and higher documented
InitVariantFromVariantArrayElem 6.0 and higher documented
IsPropVariantValid (434) 7.0 from Windows 7, and higher  
MakeTreeValueCanonical (403) 6.0 and higher  
PropVariantChangeType 6.0 and higher documented
PropVariantCompareEx 6.0 and higher documented
PropVariantConcatenateAsVector (432) 7.0 from Windows 7, and higher  
PropVariantGetBooleanElem 6.0 and higher documented
PropVariantGetDoubleElem 6.0 and higher documented
PropVariantGetElementCount 6.0 and higher documented
PropVariantGetFileTimeElem 6.0 and higher documented
PropVariantGetInt16Elem 6.0 and higher documented
PropVariantGetInt32Elem 6.0 and higher documented
PropVariantGetInt64Elem 6.0 and higher documented
PropVariantGetStringElem 6.0 and higher documented
PropVariantGetUInt16Elem 6.0 and higher documented
PropVariantGetUInt32Elem 6.0 and higher documented
PropVariantGetUInt64Elem 6.0 and higher documented
PropVariantToBoolean 6.0 and higher documented
PropVariantToBooleanVector 6.0 and higher documented
PropVariantToBooleanVectorAlloc 6.0 and higher documented
PropVariantToBooleanWithDefault 6.0 and higher documented
PropVariantToBSTR 6.0 and higher documented
PropVariantToBuffer 6.0 and higher documented
PropVariantToDouble 6.0 and higher documented
PropVariantToDoubleVector 6.0 and higher documented
PropVariantToDoubleVectorAlloc 6.0 and higher documented
PropVariantToDoubleWithDefault 6.0 and higher documented
PropVariantToFileTime 6.0 and higher documented
PropVariantToFileTimeVector 6.0 and higher documented
PropVariantToFileTimeVectorAlloc 6.0 and higher documented
PropVariantToGUID 6.0 and higher documented
PropVariantToInt16 6.0 and higher documented
PropVariantToInt16Vector 6.0 and higher documented
PropVariantToInt16VectorAlloc 6.0 and higher documented
PropVariantToInt16WithDefault 6.0 and higher documented
PropVariantToInt32 6.0 and higher documented
PropVariantToInt32Vector 6.0 and higher documented
PropVariantToInt32VectorAlloc 6.0 and higher documented
PropVariantToInt32WithDefault 6.0 and higher documented
PropVariantToInt64 6.0 and higher documented
PropVariantToInt64Vector 6.0 and higher documented
PropVariantToInt64VectorAlloc 6.0 and higher documented
PropVariantToInt64WithDefault 6.0 and higher documented
PropVariantToStreamObjectAsBlob (412) 6.0 and higher  
PropVariantToString 6.0 and higher documented
PropVariantToStringAlloc 6.0 and higher documented
PropVariantToStringVector 6.0 and higher documented
PropVariantToStringVectorAlloc 6.0 and higher documented
PropVariantToStringWithDefault 6.0 and higher documented
PropVariantToStrRet 6.0 and higher documented
PropVariantToSystemTime (404) 6.0 and higher  
PropVariantToUInt16 6.0 and higher documented
PropVariantToUInt16Vector 6.0 and higher documented
PropVariantToUInt16VectorAlloc 6.0 and higher documented
PropVariantToUInt16WithDefault 6.0 and higher documented
PropVariantToUInt32 6.0 and higher documented
PropVariantToUInt32Vector 6.0 and higher documented
PropVariantToUInt32VectorAlloc 6.0 and higher documented
PropVariantToUInt32WithDefault 6.0 and higher documented
PropVariantToUInt64 6.0 and higher documented
PropVariantToUInt64Vector 6.0 and higher documented
PropVariantToUInt64VectorAlloc 6.0 and higher documented
PropVariantToUInt64WithDefault 6.0 and higher documented
PropVariantToVariant 6.0 and higher documented
PSApplyPropertiesToPropertyStore (405) 6.0 and higher  
PSApplyPropertyChangeToStore (406) 6.0 and higher  
PSCoerceToCanonicalValue 6.0 and higher documented
PSCreateAdapterFromObject (413) 6.0 and higher  
PSCreateAdapterFromObjects (414) 6.0 and higher  
PSCreateAdapterFromPropertyStore 6.0 and higher documented
PSCreateAggregatePropertyProvider (415) 6.0 and higher  
PSCreateDelayedMultiplexPropertyStore 6.0 and higher documented
PSCreateItemStoresFromDelegate (417) 6.0 and higher  
PSCreateMemoryPropertyStore 6.0 and higher documented
PSCreateMemoryPropertyStoreFromSerializedData (407) 6.0 and higher  
PSCreateMultiplexPropertyStore 6.0 and higher documented
PSCreatePropertyChangeArray 6.0 and higher documented
PSCreatePropertyDescriptionList (416) 6.0 and higher  
PSCreatePropertyKeyStore (408) 6.0 and higher  
PSCreatePropertyProvider (400) 6.0 and higher  
PSCreatePropertyStoreFromObject 6.0 and higher documented
PSCreatePropertyStoreFromPropertySetStorage 6.0 and higher documented
PSCreateSimplePropertyChange 6.0 and higher documented
PSEnumeratePropertyDescriptions 6.0 and higher documented
PSEnumerateSemanticTypes (428) 7.0 from Windows 7, and higher  
PSFormatDateTimeW (420) 6.0 and higher  
PSFormatForDisplay 6.0 and higher documented
PSFormatForDisplayAlloc 6.0 and higher documented
PSFormatPropertyValue 6.0 and higher documented
PSGetCanonicalValue (423) 7.0 from Windows 7, and higher  
PSGetImageReferenceForValue 7.0 from Windows 7, and higher documented
PSGetItemPropertyHandler 6.0 and higher documented
PSGetItemPropertyHandlerWithCreateObject 6.0 and higher documented
PSGetNamedPropertyFromPropertyStorage (409) 6.0 and higher documented
PSGetNamedValueAndPath (425) 7.0 from Windows 7, and higher  
PSGetNameFromPropertyKey 6.0 and higher documented
PSGetObjectIdentity (426) 7.0 from Windows 7, and higher  
PSGetPropertyDescription 6.0 and higher documented
PSGetPropertyDescriptionByName 6.0 and higher documented
PSGetPropertyDescriptionListFromString 6.0 and higher documented
PSGetPropertyFromPropertyStorage (410) 6.0 and higher documented
PSGetPropertyKeyFromName 6.0 and higher documented
PSGetPropertySystem 6.0 and higher documented
PSGetPropertyValue 6.0 and higher documented
PSGetSemanticTypeByName (427) 7.0 from Windows 7, and higher  
PSGetValueAndPath (424) 7.0 from Windows 7, and higher  
PSLookupPropertyHandlerCLSID 6.0 and higher documented
PSPropertyBag_Delete 7.0 from Windows 7, and higher documented
PSPropertyBag_ReadBOOL 7.0 from Windows 7, and higher documented
PSPropertyBag_ReadBSTR 7.0 from Windows 7, and higher documented
PSPropertyBag_ReadDWORD 7.0 from Windows 7, and higher documented
PSPropertyBag_ReadGUID 7.0 from Windows 7, and higher documented
PSPropertyBag_ReadInt 7.0 from Windows 7, and higher documented
PSPropertyBag_ReadLONG 7.0 from Windows 7, and higher documented
PSPropertyBag_ReadPOINTL 7.0 from Windows 7, and higher documented
PSPropertyBag_ReadPOINTS 7.0 from Windows 7, and higher documented
PSPropertyBag_ReadPropertyKey 7.0 from Windows 7, and higher documented
PSPropertyBag_ReadRECTL 7.0 from Windows 7, and higher documented
PSPropertyBag_ReadSHORT 7.0 from Windows 7, and higher documented
PSPropertyBag_ReadStr 7.0 from Windows 7, and higher documented
PSPropertyBag_ReadStrAlloc 7.0 from Windows 7, and higher documented
PSPropertyBag_ReadStream 7.0 from Windows 7, and higher documented
PSPropertyBag_ReadType 7.0 from Windows 7, and higher documented
PSPropertyBag_ReadULONGLONG 7.0 from Windows 7, and higher documented
PSPropertyBag_ReadUnknown 7.0 from Windows 7, and higher documented
PSPropertyBag_WriteBOOL 7.0 from Windows 7, and higher documented
PSPropertyBag_WriteBSTR 7.0 from Windows 7, and higher documented
PSPropertyBag_WriteDWORD 7.0 from Windows 7, and higher documented
PSPropertyBag_WriteGUID 7.0 from Windows 7, and higher documented
PSPropertyBag_WriteInt 7.0 from Windows 7, and higher documented
PSPropertyBag_WriteLONG 7.0 from Windows 7, and higher documented
PSPropertyBag_WritePOINTL 7.0 from Windows 7, and higher documented
PSPropertyBag_WritePOINTS 7.0 from Windows 7, and higher documented
PSPropertyBag_WritePropertyKey 7.0 from Windows 7, and higher documented
PSPropertyBag_WriteRECTL 7.0 from Windows 7, and higher documented
PSPropertyBag_WriteSHORT 7.0 from Windows 7, and higher documented
PSPropertyBag_WriteStr 7.0 from Windows 7, and higher documented
PSPropertyBag_WriteStream 7.0 from Windows 7, and higher documented
PSPropertyBag_WriteULONGLONG 7.0 from Windows 7, and higher documented
PSPropertyBag_WriteUnknown 7.0 from Windows 7, and higher documented
PSPropertyKeyFromString 6.0 and higher documented
PSRefreshPropertySchema 6.0 and higher documented
PSRegisterPropertySchema 6.0 and higher documented
PSSetPropertyValue 6.0 and higher documented
PSStrFormatByteSizeW (421) 6.0 and higher  
PSStrFormatByteSizeEx (423) 6.0 from Windows Vista SP1;
7.0 from Windows Vista SP2
 
PSStrFormatByteSizeEx (429) 7.0 from Windows 7, and higher  
PSStrFormatKBSizeW (422) 6.0 and higher  
PSStringFromPropertyKey 6.0 and higher documented
PSUnregisterPropertySchema 6.0 and higher documented
StgDeserializePropVariant 6.0 and higher documented
StgSerializePropVariant 6.0 and higher documented
VariantCompare 6.0 and higher documented
VariantGetBooleanElem 6.0 and higher documented
VariantGetDoubleElem 6.0 and higher documented
VariantGetElementCount 6.0 and higher documented
VariantGetInt16Elem 6.0 and higher documented
VariantGetInt32Elem 6.0 and higher documented
VariantGetInt64Elem 6.0 and higher documented
VariantGetStringElem 6.0 and higher documented
VariantGetUInt16Elem 6.0 and higher documented
VariantGetUInt32Elem 6.0 and higher documented
VariantGetUInt64Elem 6.0 and higher documented
VariantToBoolean 6.0 and higher documented
VariantToBooleanArray 6.0 and higher documented
VariantToBooleanArrayAlloc 6.0 and higher documented
VariantToBooleanWithDefault 6.0 and higher documented
VariantToBuffer 6.0 and higher documented
VariantToDosDateTime 6.0 and higher documented
VariantToDouble 6.0 and higher documented
VariantToDoubleArray 6.0 and higher documented
VariantToDoubleArrayAlloc 6.0 and higher documented
VariantToDoubleWithDefault 6.0 and higher documented
VariantToFileTime 6.0 and higher documented
VariantToGUID 6.0 and higher documented
VariantToInt16 6.0 and higher documented
VariantToInt16Array 6.0 and higher documented
VariantToInt16ArrayAlloc 6.0 and higher documented
VariantToInt16WithDefault 6.0 and higher documented
VariantToInt32 6.0 and higher documented
VariantToInt32Array 6.0 and higher documented
VariantToInt32ArrayAlloc 6.0 and higher documented
VariantToInt32WithDefault 6.0 and higher documented
VariantToInt64 6.0 and higher documented
VariantToInt64Array 6.0 and higher documented
VariantToInt64ArrayAlloc 6.0 and higher documented
VariantToInt64WithDefault 6.0 and higher documented
VariantToPropVariant 6.0 and higher documented
VariantToString 6.0 and higher documented
VariantToStringAlloc 6.0 and higher documented
VariantToStringArray 6.0 and higher documented
VariantToStringArrayAlloc 6.0 and higher documented
VariantToStringWithDefault 6.0 and higher documented
VariantToStrRet 6.0 and higher documented
VariantToUInt16 6.0 and higher documented
VariantToUInt16Array 6.0 and higher documented
VariantToUInt16ArrayAlloc 6.0 and higher documented
VariantToUInt16WithDefault 6.0 and higher documented
VariantToUInt32 6.0 and higher documented
VariantToUInt32Array 6.0 and higher documented
VariantToUInt32ArrayAlloc 6.0 and higher documented
VariantToUInt32WithDefault 6.0 and higher documented
VariantToUInt64 6.0 and higher documented
VariantToUInt64Array 6.0 and higher documented
VariantToUInt64ArrayAlloc 6.0 and higher documented
VariantToUInt64WithDefault 6.0 and higher documented

Notes

Familiarity is assumed with the Reading Guide for the Windows Shell Study.

Names

Function names are reproduced from the export directory of the PROPSYS.DLL executable, wherever possible. For functions that are not exported by name (i.e., are exported only by ordinal) from any known PROPSYS version, names are inferred from symbol files that Microsoft supplies for customer support. If a function is known as an ordinal-only export from at least one PROPSYS version, then even if later versions also export the function by name, the ordinal persists and is given in brackets immediately after the function’s name.

Versions

The PROPSYS versions shown for each function are inferred from a study of known releases, making reasonable assumptions about likely continuity, especially to suppose that a function will exist in future versions or that a function exists in all builds of a version if no counter-example is yet known.

Documentation Status

Except where otherwise stated, the reference for all comment on Microsoft’s documentation is the January 2007 edition of the Windows Vista Software Development Kit (as distributed by Microsoft on MSDN Disc 3667).