For the latest documentation on Visual Studio 2017 RC, see Visual Studio 2017 RC Documentation.

Specifies that the user-defined type is a control.


The control attribute implies the coclass attribute. The control C++ attribute has the same functionality as the control MIDL attribute.

// cpp_attr_ref_control.cpp  
// compile with: /LD  
#include <windows.h>  
[module(name="Test", control=true)];  
[object, uuid("9e66a290-4365-11d2-a997-00c04fa37ddb")]  
__interface ICustom {  
   HRESULT Custom([in] long l, [out, retval] long *pLong);  
[coclass, control, appobject, uuid("9e66a294-4365-11d2-a997-00c04fa37ddb")]  
class CTest : public ICustom {};  

Attribute Context

Applies toclass, struct
Required attributesNone
Invalid attributesNone

For more information about the attribute contexts, see Attribute Contexts.

IDL Attributes
Class Attributes
Typedef, Enum, Union, and Struct Attributes
Attributes Samples