default attribute
The [default] attribute Indicates that the interface or dispinterface, defined within a coclass, represents the default programmability interface. This attribute is intended for use by macro languages.
[
uuid(uuid-number)
[, attribute-list]
]
coclass coclass-name
{
[ default [, optional-interface-attribute] ];
interface | dispinterface interface-name;
}
-
uuid-number
-
Specifies a universally unique identification number for the coclass.
-
attribute-list
-
Specifies additional coclass attributes. Separate multiple attributes with commas.
-
coclass-name
-
Specifies the name by which other software components can reference this coclass.
-
optional-interface-attribute
-
The [source] attribute, which specifies that an interface or dispinterface is outgoing, is the only other attribute that can be used here.
-
interface-name
-
Specifies the name of the interface.
A coclass may have at most two [default] members. One represents the outgoing (source) interface or dispinterface, and the other represents the incoming (sink) interface or dispinterface. If the [default] attribute is not specified for any member of the coclass or cotype, the first outgoing and incoming members that do not have the [restricted] attribute are treated as the defaults.
IMPLTYPEFLAG_FDEFAULT
[
uuid(12345678-1234-1234-1234-123456789ABC),
helpstring("Hello Class"),appobject
]
coclass Hello
{
[default] interface IHello:IUnknown;
interface IDispatch;
};