Export (0) Print
Expand All

defaultvtable

Defines an interface as the default vtable interface for a COM object.

[ defaultvtable(
   interface
) ]

Parameter

interface
The designated interface that you want to have the default vtable for the COM object.

Attribute Context

Applies to class, struct
Repeatable No
Required attributes coclass
Invalid attributes None

For more information, see Attribute Contexts.

Remarks

The defaultvtable C++ attribute has the same functionality as the defaultvtable MIDL attribute.

Example

The following code shows attributes on a class that use defaultvtable to specify a default interface:

// cpp_attr_ref_defaultvtable.cpp
// compile with: /LD
#include <unknwn.h>
[module(name="MyLib")];

[object, uuid("00000000-0000-0000-0000-000000000001")]
__interface IMyI1 
{
   HRESULT x();
};

[object, uuid("00000000-0000-0000-0000-000000000002")]
__interface IMyI2 
{
   HRESULT x();
};

[object, uuid("00000000-0000-0000-0000-000000000003")]
__interface IMyI3 
{
   HRESULT x();
};

[coclass, source(IMyI3, IMyI1), default(IMyI3, IMyI2), defaultvtable(IMyI1),
uuid("00000000-0000-0000-0000-000000000004")]
class CMyC3 : public IMyI3
{
};

See Also

IDL Attributes | Class Attributes | Attributes Samples

Show:
© 2015 Microsoft