I'm getting a fking error when creating a thread in the base: Code: BOOL APIENTRY DllMain( HMODULE hMod, DWORD ul_reason_for_call, LPVOID lpReserved ) { //MessageBox(NULL, _T("DLL Injetada!"),_T("H4CK34D0"),MB_OK|MB_SYSTEMMODAL); CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)principal(), NULL, NULL, NULL); DisableThreadLibraryCalls(hMod); return true; } BOOL WINAPI principal() { Sleep(9800); try { DWORD dllfile = (DWORD)GetModuleHandleA("CShell.dll"); if(dllfile == false) { throw 1; } } catch (int error) { switch(error) { case 1: CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)principal, NULL, NULL, NULL); return false; default: //Unkown error! return false; } } CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)princ, NULL, NULL, NULL); return true; } On the first and last CreateThread it's giving: principal was not declared in this scope and princ was not declared in this scope. Do you know the solution?