The answer is here:
Visual Studio SDK redefines keyword 'small' as macro, see C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\RpcNdr.h (149-155).
Do not believe? Look at the code snippet (RpcNdr.h lines 149-155):
/************************************************** * Other MIDL base types / predefined types: **************************************************/#define small chartypedef unsigned char byte;typedef byte cs_byte;typedef unsigned char boolean;