According to the ECID manual, try:
typedef struct regStruct_guid {
unsigned long Data1;
unsigned short Data2;
unsigned short Data3;
unsigned char Data4[8];
} regStruct_guid;
regStruct_guid guid_reg;
guid_reg.Data1 = (unsigned long)memregs32[0x1F844>>2]...