PROP_ENTRY_INTERFACE_CALLBACK

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.

PROP_ENTRY_INTERFACE_CALLBACK(
   szDesc,
   dispid,
   clsid,
   pfnFunc,
   vt
)

Parameters

  • [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.

  • [in]pfnFunc
    The callback function that controls data during the loading process.

  • [in] vt
    The type of the property.

Remarks

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.

Example

See the example for BEGIN_PROP_MAP.

Requirements

Header: atlcom.h

See Also

Reference

PROP_ENTRY_TYPE

PROP_ENTRY_TYPE_EX

Other Resources

ATL Macros Alphabetical Reference

PROP_ENTRY_INTERFACE

PROP_ENTRY_INTERFACE_EX

PROP_ENTRY_INTERFACE_CALLBACK_EX