Export (0) Print
Expand All

Extending the Automation Object Model

[This topic is pre-release documentation and is subject to change in future releases. Blank topics are included as placeholders.]

A project subtype may extend the automation object model of the base project in the following places:

  • Project.Extender(“<ProjectSubtypeName>”) – This allows a project subtype to offer an object with custom methods from the Project. A project subtype can use Automation Extenders to expose the Project object. The IInternalExtenderProvider interface implemented on the main project subtype aggregator should offer its object for the VSHPROPID_ExtObjectCATID from __VSSPROPID2 (corresponding to an itemid value of VSITEMID_ROOT, from VSITEMID) CATID.

  • ProjectItem.Extender(“<ProjectSubtypeName>”) – This allows a project subtype to offer an object with custom methods from a particular ProjectItem object within the project. A project subtype can use Automation Extenders to expose this object. The IInternalExtenderProvider interface implemented on the main project subtype aggregator needs to offer its object for the VSHPROPID_ExtObjectCATID from __VSHPROPID2 (corresponding to a desired VSITEMID) CATID.

  • Project.Properties – This collection exposes the configuration independent properties of the Project object. For more information on Project Properties, see Properties. A project subtype can use Automation Extenders to add its properties to this collection. The IInternalExtenderProvider interface implemented on the main project subtype aggregator needs to offer its object for the VSHPROPID_BrowseObjectCATID from VSHPROPID2 (corresponding to an itemid value of VSITEMID_ROOT, from __VSHPROPID2) CATID.

  • Configuration.Properties – This collection exposes the configuration dependent properties of the project for a particular configuration (for example, Debug). For more information see, Configuration. A project subtype can use Automation Extenders to add its properties to this collection. The IInternalExtenderProvider interface implemented on the main project subtype aggregator offers its object for the CATID VSHPROPID_CfgBrowseObjectCATID (corresponding to an itemid value of VSITEMID_ROOT). The IVsCfgBrowseObject interface is used to distinguish one configuration browse object from another.

See Also

Reference

__VSFPROPID

Community Additions

ADD
Show:
© 2014 Microsoft