Skip to content

Latest commit

 

History

History
49 lines (44 loc) · 1.56 KB

File metadata and controls

49 lines (44 loc) · 1.56 KB
title Interfaces (ATL) | Microsoft Docs
ms.custom
ms.date 11/04/2016
ms.reviewer
ms.suite
ms.technology
cpp-windows
ms.tgt_pltfrm
ms.topic article
dev_langs
C++
helpviewer_keywords
COM interfaces
interfaces, COM
ms.assetid de6c8b12-6230-4fdc-af66-a28b91d5ee55
caps.latest.revision 10
author mikeblome
ms.author mblome
manager ghogen
translation.priority.ht
cs-cz
de-de
es-es
fr-fr
it-it
ja-jp
ko-kr
pl-pl
pt-br
ru-ru
tr-tr
zh-cn
zh-tw

Interfaces (ATL)

An interface is the way in which an object exposes its functionality to the outside world. In COM, an interface is a table of pointers (like a C++ vtable) to functions implemented by the object. The table represents the interface, and the functions to which it points are the methods of that interface. An object can expose as many interfaces as it chooses.

Each interface is based on the fundamental COM interface, IUnknown. The methods of IUnknown allow navigation to other interfaces exposed by the object.

Also, each interface is given a unique interface ID (IID). This uniqueness makes it easy to support interface versioning. A new version of an interface is simply a new interface, with a new IID.

Note

IIDs for the standard COM and OLE interfaces are predefined.

See Also

Introduction to COM
COM Objects and Interfaces