On 05/14/14 10:05, Henri Verbeet wrote:
The d2d1.h in the PSDK has these annotated with "_In_opt_", and presumably it's generated with midl.
FWIW, I'm pretty sure it's not. It contains a lot of things that would be tricky or impossible to do with widl, like C++ default argument values or overloaded inline functions wrappers around vtbl-based functions. They even invented a new way of declaring C vtbl structs, which contain parent's struct in the beginning, instead of duplicating all functions.
I guess that it was decided that having a clean IDL is more important than being compatible with MS in this case. Otherwise mingw-w64 version would be available to port to Wine (some related headers may be still useful): http://repo.or.cz/w/mingw-w64/jacek.git/blob/HEAD:/mingw-w64-headers/include...
Cheers, Jacek