#ifndef SM_EVENT

#define SM_EVENT

struct EVGUID
{
  DWORD Data1;
  WORD  Data2;
  WORD  Data3;
  BYTE  Data4[8];
};

#define DEFINE_EVGUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
         const EVGUID name \
                = { l, w1, w2, { b1, b2,  b3,  b4,  b5,  b6,  b7,  b8 } }

bool AreEqualEVGUID(const EVGUID* pEVGUIDA, const EVGUID* pEVGUIDB);

class Event
{
public:
  EVGUID* GUID();
protected:
  EVGUID* m_pGUID;
};

#endif