The initial pass of that is done; they're all in oleexp. I started by merging D2DVB so those use the same definitions, with the exception MKTYPLIB doesn't support 'optional' so those were removed. I'm probably going to have to go back and change some of those to 'as any' so ByVal 0 can be passed.