For C++, declare initialised GUIDs to be "extern const" rather than just "const" to ensure that the initialised GUID is visible to other modules, and use EXTERN_C rather than just "extern" for the benefit of MSVC++, which does name mangling on global variables.