Platform SDK: MIDL |
The [public] attribute includes an alias declared with the typedef keyword in the type library.
typedef [public] data-type identifier;
By default, an alias that is declared with typedef and has no other attributes is treated as a #define and is not included in the type library. Using the [public] attribute ensures that the alias becomes part of the type library.
Note The MIDL compiler requires that you explicitly apply the [public] attribute to each typedef that you want public. This is in contrast to MKTYPLIB, which treats as public, every typedef inside of a public interface block.
typedef [public] long MEMBERID;
Differences Between MIDL and MKTYPLIB, Generating a Type Library With MIDL, ODL File Example, interface, ODL File Syntax, typedef