UINT32 seqNo = ++s->iCount; out << dec << seqNo << ":" << ((const char *)Addrint2VoidStar(disas)) << endl; } # define REGENTRY(n) { REG_##n, STRINGIZE(n) } // Table of registers to check and display static const struct { REG regnum; const char * name; } checkedRegisters[] = #if (TARGET_IA32E) { REGENTRY(RFLAGS), REGENTRY(RAX), REGENTRY(RBX), REGENTRY(RCX), REGENTRY(RDX), REGENTRY(RBP), REGENTRY(RSP), REGENTRY(RDI), REGENTRY(RSI), REGENTRY(R8), REGENTRY(R9), REGENTRY(R10), REGENTRY(R11), REGENTRY(R12), REGENTRY(R13), REGENTRY(R14),
///////////////////////////////////////////////////////////////////////////// // DDE and ShellExecute support //HKEY_CLASSES_ROOT\.RTF = rtffile //HKEY_CLASSES_ROOT\rtffile = //HKEY_CLASSES_ROOT\rtffile\CLSID = {73FDDC80-AEA9-101A-98A7-00AA00374959} //HKEY_CLASSES_ROOT\rtffile\protocol\StdFileEditing\server = WORDPAD.EXE //HKEY_CLASSES_ROOT\rtffile\protocol\StdFileEditing\verb\0 = &Edit //HKEY_CLASSES_ROOT\rtffile\shell\open\command = WORDPAD.EXE %1 //HKEY_CLASSES_ROOT\rtffile\shell\print\command = WORDPAD.EXE /p %1 #define REGENTRY(key, value) _T(key) _T("\0\0") _T(value) #define REGENTRYX(key, valuename, value) _T(key) _T("\0") _T(valuename) _T("\0") _T(value) static const TCHAR sz00[] = REGENTRY("%2", "%5"); static const TCHAR sz01[] = REGENTRY("%2\\CLSID", "%1"); static const TCHAR sz02[] = REGENTRY("%2\\Insertable", ""); static const TCHAR sz03[] = REGENTRY("%2\\protocol\\StdFileEditing\\verb\\0", "&Edit"); static const TCHAR sz04[] = REGENTRY("%2\\protocol\\StdFileEditing\\server", "%3"); static const TCHAR sz05[] = REGENTRY("CLSID\\%1", "%5"); static const TCHAR sz06[] = REGENTRY("CLSID\\%1\\ProgID", "%2"); static const TCHAR sz07[] = REGENTRY("CLSID\\%1\\InprocHandler32", "ole32.dll"); static const TCHAR sz08[] = REGENTRY("CLSID\\%1\\LocalServer32", "%3"); static const TCHAR sz09[] = REGENTRY("CLSID\\%1\\Verb\\0", "&Edit,0,2"); static const TCHAR sz10[] = REGENTRY("CLSID\\%1\\Verb\\1", "&Open,0,2"); static const TCHAR sz11[] = REGENTRY("CLSID\\%1\\Insertable", ""); static const TCHAR sz12[] = REGENTRY("CLSID\\%1\\AuxUserType\\2", "%4"); static const TCHAR sz13[] = REGENTRY("CLSID\\%1\\AuxUserType\\3", "%6"); static const TCHAR sz14[] = REGENTRY("CLSID\\%1\\DefaultIcon", "%3,1"); static const TCHAR sz15[] = REGENTRY("CLSID\\%1\\MiscStatus", "0");
{ threadState * s = &threadStates[thread]; UINT32 seqNo = ++s->iCount; out << dec << seqNo << ":" << ((const char *)Addrint2VoidStar(disas)) << endl; } # define REGENTRY(n) { REG_##n, STRINGIZE(n) } // Table of registers to check and display static const struct { REG regnum; const char * name; } checkedRegisters[] = { REGENTRY(EFLAGS), REGENTRY(EAX), REGENTRY(EBX), REGENTRY(ECX), REGENTRY(EDX), REGENTRY(EBP), REGENTRY(ESP), REGENTRY(EDI), REGENTRY(ESI) }; #if (0) static VOID dumpRegs(THREADID tid, CONTEXT *ctxt, const char *msg) { threadState * s = &threadStates[tid]; UINT32 seq = s->iCount;