*GetIDsOfNames methods (found in and IDispatch and ITypeInfo and other derivations found in other COM interfaces) and DispGetIDsOfNames function are returning i32. Documentation mentions "Caller-allocated array", rather than a single ID. This applies for any interface that inherits from IDispatch etc.
Wasn't sure if the problem was on this side or with win32metadata.