The new home for Visual Studio documentation is Visual Studio 2017 Documentation on

Indicates that the COM object to which it applies is licensed, and must be instantiated using IClassFactory2.


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

// cpp_attr_ref_licensed.cpp  
// compile with: /LD  
#include "unknwn.h"  
[object, uuid("00000000-0000-0000-0000-000000000001")]  
__interface IMyI : IUnknown {  
   HRESULT f();  
[coclass, version("2.1"), uuid(12345678-1111-2222-3333-123456789012),   
licensed, threading(free), progid(]  
class CSample : public IMyI {  
   int nSize;  
[module(name="MyLibrary", version="1.0", helpstring="My Library Block")];  

Attribute Context

Applies toclass, struct
Required attributescoclass
Invalid attributesNone

For more information, see Attribute Contexts.

IDL Attributes
Class Attributes
Attributes Samples