We recommend using Visual Studio 2017



The latest version of this topic can be found at library_block.

Places a construct inside the IDL library block.


When you place a construct inside the library block, you ensure that it will be passed into the type library, regardless of whether it is referenced. By default, only constructs modified by the coclass, dispinterface, and idl_module attributes are placed in the library block.

In the following code, a custom interface is placed inside the library block.

// cpp_attr_ref_library_block.cpp  
// compile with: /LD  
#include <windows.h>  
[object, library_block, uuid("9E66A290-4365-11D2-A997-00C04FA37DDB")]  
__interface IMyInterface {  
   HRESULT f1();  

Attribute Context

Applies toAnywhere
Required attributesNone
Invalid attributesNone

For more information, see Attribute Contexts.

Compiler Attributes
Stand-Alone Attributes
Attributes Samples