componentinfo

Query system registry about COM component created with MATLAB Compiler SDK

Syntax

info = componentinfo
info = componentinfo(component_name)
info = componentinfo(component_name, major_revision_number)
info = componentinfo(component_name, major_revision_number, minor_revision_number)

Arguments

component_name

MATLAB® string naming the COM component created by MATLAB Compiler SDK™. Names are case sensitive. If the argument is not supplied, information is returned on all installed components.

major_revision_number

Component major revision number. If the argument is not supplied, information is returned on all major revisions.

minor_revision_number

Component minor revision number. Default value is 0.

Description

info = componentinfo returns information for all components installed on the system.

info = componentinfo(component_name) returns information for all revisions of component_name.

info = componentinfo(component_name, major_revision_number) returns information for the most recent minor revision corresponding to major_revision_number of component_name.

info = componentinfo(component_name, major_revision_number, minor_revision_number) returns information for the specific major and minor version of component_name.

The return value is an array of structures representing all the registry and type information needed to load and use the component.

When you supply a component name, major_revision_number and minor_revision_number are interpreted as shown next.

ValueInformation Returned
> 0

Information on a specific major and minor revision.

0

Information on the most recent revision. When omitted, minor_revision_number is assumed to be 0.

< 0

Information on all versions.

This table describes the fields in componentinfo.

Registry Information Returned by componentinfo

FieldDescription
Name

Component name.

TypeLib

Component type library.

LIBID

Component type library GUID.

MajorRev

Major version number .

MinorRev

Minor version number.

FileName

Type library file name and path. Since all the compiler components have the type library bound into the DLL, this file name is the same as the DLL name and path.

Interfaces

An array of structures defining all interface definitions in the type library. Each structure contains two fields:

  • Name - Interface name.

  • IID - Interface GUID.

CoClasses

An array of structures defining all COM classes in the component. Each structure contains these fields:

  • Name - Class name.

  • CLSID - GUID of the class.

  • ProgID - Version-dependent program ID.

  • VerIndProgID - Version-independent program ID.

  • InprocServer32 - Full name and path to component DLL.

  • Methods - A structure containing function prototypes of all class methods defined for this interface. This structure contains four fields:

    • IDL - An array of Interface Description Language function prototypes.

    • M - An array of MATLAB function prototypes.

    • C - An array of C-language function prototypes.

    • VB - An array of VBA function prototypes.

  • Properties - A cell array containing the names of all class properties.

  • Events - A structure containing function prototypes of all events defined for this class. This structure contains four fields:

    • IDL - An array of Interface Description Language function prototypes.

    • M - An array of MATLAB function prototypes.

    • C - An array of C-language function prototypes.

    • VB - An array of VBA function prototypes.

Examples

Function CallReturned Information
Info = componentinfo Information for all installed components.
Info = componentinfo('mycomponent') Information for all revisions of mycomponent.
Info = componentinfo('mycomponent',1,0)

Information for revision 1.0 of mycomponent.

More About

expand all

Tips

Use the componentinfo function to get information (such as class name, program ID) to pass on to users of a component that you create.

The componentinfo function also provides a record of changes made to the registry on your development machine. This information might be useful for debugging if you run into problems.

Was this topic helpful?