This looks fine to me, except for the first commit. Even if our ole32 is unlikely to run on Windows, using this customization is not great. There might be other opinions.
It's done elsewhere, e.g. in wined3d, which does consistently work on Windows. Which is not to offer an argument, but at least an observation.