coclass
[attribute-list]coclass classname { [attributes2]
[interface | dispinterface] interfacename { . . . };
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, helpcontext2ML7BLI, 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.
attributes2
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.
Examples
[uuid(. . .), version(1.0), helpstring("A
class"), helpcontext(2481), appobject] coclass myapp
{
[source]
interface IMydocfuncs : IUnknown;
dispinterface DMydocfuncs;
};
[uuid(. . .)]
coclass foo
{
[restricted] interface bar;
interface
baz;
}
Remarks
The coclass
statement provides a listing of the supported interfaces for a component
object.
The Microsoft Component
Object Model defines a class as an implementation that allows QueryInterface
between a set of interfaces.
See Also