Protect LPGUID typedef by __LPGUID_DEFINED__ being defined.
Protect LPCLSID and LPFMTID typedefs, IsEqualGUID, IsEqualIID,
IsEqualCLSID, IID_NULL, CLSID_NULL and FMTID_NULL defines by
__IID_DEFINED__ being defined.
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.