共用方式為


PROP_ENTRY_INTERFACE_EX

 

Lets you specify a particular IID If your object supports multiple dispatch interfaces. Resembles PROP_ENTRY_INTERFACE.

Syntax

PROP_ENTRY_INTERFACE_EX(
   szDesc,
   dispid,
   clsid,
   iidDispatch,
   rgclsidAllowed,
   cclsidAllowed,
   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] iidDispatch
    The IID of the dispatch interface that defines the property.

  • [in] rgclsidAllowed
    An array of CLSIDs that can be loaded. For stability, use a const array.

  • [in] cclsidAllowed
    The number of elements in rgclsidAllowed.

  • [in] vt
    The type for the property.

Remarks

Include this macro to give an application more control over the IPersistStreamInitImpl::Load process. 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.

In most cases, cclsidAllowed can be determined by _countof(rgclsidAllowed).

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_EX.

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.

Requirements

Header: atlcom.h

See Also

ATL Macros Alphabetical Reference
PROP_ENTRY_INTERFACE
PROP_ENTRY_INTERFACE_CALLBACK
PROP_ENTRY_INTERFACE_CALLBACK_EX
PROP_ENTRY_TYPE
PROP_ENTRY_TYPE_EX