MIDL and Boolean Data Types
In MIDL, the boolean base type is equivalent to VT_UI1, which is defined as an unsigned char, and the BOOL data type is defined as a long. If you want a VT_BOOL in your type library, you should use the VARIANT_BOOL data type in your .IDL file.