We recommend using Visual Studio 2017
This documentation is archived and is not being maintained.


Lets you enter a property description and property DISPID, and provide a callback function to determine whether any CLSID should be added to the property map.


[in] szDesc

The property description.

[in] dispid

The DISPID of the property.

[in] clsid

The CLSID of the associated property page. Use the special value CLSID_NULL for a property that does not have an associated property page.


The callback function that controls data during the loading process.

[in] vt

The type of the property.

Include this macro to give an application more control over the IPersistStreamInitImpl::Load process. The callback function pfnFunc is called when IPersistStreamInitImpl::Load is retrieving data from a non-trusted stream. The callback function filters the data and controls which objects are loaded.

This macro only applies if IPersistStreamInitImpl is a base class and the class is advertised as safe for initializing. Otherwise, you should not use this macro.

This macro is only valid if vt is VT_DISPATCH or VT_UNKNOWN. Passing in a different value for vt to this macro will cause a compilation error. For any other value of vt, use PROP_ENTRY_TYPE.

The BEGIN_PROP_MAP macro marks the beginning of the property map; the END_PROP_MAP macro marks the end.

If you are creating a web control that needs to be initialized, you should use the IPersistPropertyBagImpl Class instead of IPersistStreamInitImpl to initialize properties. IPersistStreamInitImpl possess a greater risk in binary format than IPersistPropertyBagImpl.

See the example for BEGIN_PROP_MAP.

Header: atlcom.h