coclass attribute

The coclass statement provides a listing of the supported interfaces for a component object.

[
    coclass-attribute-list
]
coclass classname
{
    [
        interface-attributes
    ] 
    [interface | dispinterface] interfacename 
    {
  . . . 
    }
}

Parameters

coclass-attribute-list

The [uuid] attribute is required on a coclass. This is the same [uuid] that is registered as a CLSID in the system registration database. The [helpstring], [helpcontext], [licensed], [version], [control], [hidden], and [appobject] attributes are accepted, but not required, before a coclass definition.

classname

Name by which the common object is known in the type library.

interface-attributes

Optional attributes for the interface or dispinterface. The [source], [default], and [restricted] attributes are accepted on an interface or dispinterface within a coclass.

interfacename

Either an interface declared with the interface keyword, or a dispinterface declared with the dispinterface keyword.

Remarks

The Microsoft Component Object Model defines a class as an implementation that allows QueryInterface between a set of interfaces.

Examples

[
    uuid(1e196b20-1f3c-1069-996b-00dd010fe676), 
    version(1.0), 
    helpstring("A class"), 
    helpcontext(2481), appobject
] 
coclass myapp 
{ 
    [source] interface IMydocfuncs : IUnknown; 
    dispinterface DMydocfuncs; 
}; 
 
[
    uuid(12345678-1234-1234-1234-123456789ABC)
] 
coclass mycoclass 
{ 
    [restricted] interface iface1; 
    interface iface2; 
}

See also

appobject

control

default

dispinterface

Generating a Type Library With MIDL

ODL File Example

helpstring

helpcontext

hidden

interface

licensed

ODL File Syntax

restricted

source

TYPEFLAGS

uuid

version