Skip to content

Latest commit

 

History

History
72 lines (53 loc) · 1.66 KB

defaultvtable.md

File metadata and controls

72 lines (53 loc) · 1.66 KB
description title ms.date f1_keywords helpviewer_keywords ms.assetid
Learn more about: defaultvtable
defaultvtable (C++ COM Attribute)
10/02/2018
vc-attr.defaultvtable
defaultvtable attribute
5b3ed483-f69e-44dd-80fc-952028eb9d73

defaultvtable

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

Syntax

[ defaultvtable(interface) ]

Parameters

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

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 {};

Requirements

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

For more information, see Attribute Contexts.

See also

IDL Attributes
Class Attributes