Crap around the world: Importing IMAPI2.DLL type library

Trying to import IMAPI2.DLL type library to be able to use IMAPI version 2 in application:

//#pragma warning(disable: 4192)
#import “libid:2735412F-7F64-5B0F-8F00-5D77AFBE261E” no_namespace raw_interfaces_only raw_dispinterfaces // IMAPI2
//#pragma warning(default: 4192)

Compiler output I see:

warning C4192: automatically excluding ‘IConnectionPointContainer’ while importing type library ‘2735412F-7F64-5B0F-8F00-5D77AFBE261E’
warning C4192: automatically excluding ‘IEnumConnectionPoints’ while importing type library ‘2735412F-7F64-5B0F-8F00-5D77AFBE261E’
warning C4192: automatically excluding ‘IConnectionPoint’ while importing type library ‘2735412F-7F64-5B0F-8F00-5D77AFBE261E’
warning C4192: automatically excluding ‘IEnumConnections’ while importing type library ‘2735412F-7F64-5B0F-8F00-5D77AFBE261E’
warning C4192: automatically excluding ‘tagCONNECTDATA’ while importing type library ‘2735412F-7F64-5B0F-8F00-5D77AFBE261E’
warning C4192: automatically excluding ‘IStream’ while importing type library ‘2735412F-7F64-5B0F-8F00-5D77AFBE261E’
warning C4192: automatically excluding ‘ISequentialStream’ while importing type library ‘2735412F-7F64-5B0F-8F00-5D77AFBE261E’
warning C4192: automatically excluding ‘_LARGE_INTEGER’ while importing type library ‘2735412F-7F64-5B0F-8F00-5D77AFBE261E’
warning C4192: automatically excluding ‘_ULARGE_INTEGER’ while importing type library ‘2735412F-7F64-5B0F-8F00-5D77AFBE261E’
warning C4192: automatically excluding ‘tagSTATSTG’ while importing type library ‘2735412F-7F64-5B0F-8F00-5D77AFBE261E’
warning C4192: automatically excluding ‘_FILETIME’ while importing type library ‘2735412F-7F64-5B0F-8F00-5D77AFBE261E’

I was of an opinion that Microsoft people is quite familiar about hiding identifiers from automatic embedding into type library (they are probably using ATL and attributed code) and avoiding duplicating well known identifiers like IConnectionPointContainer.

Leave a Reply