I left the COBJMACROS define out because the test may need it earlier.
IMHO a redefinition won't hurt, since C permits redefinition of a macro with the same definition.
It may also need to include initguid.h earlier or not at all, to avoid linker errors when another file already includes it.
Right, the test might import the GUID symbols via another source.