Не могу понять почему не находит индетификатор renThread

#include <iostream>
#include <windows.h>
using namespace std;

int InjectDLL(DWORD, char*);
int getDLLpath(char*);
int getPID(int*);
int getProc(HANDLE*, DWORD);

int getDLLpath(char* dll)
{
    std::cout << "Pls enter the path to ur dll file\n";
    cin >> dll;
    return 1;
}

int getPID(int* PID)
{
    cout << "Pls enter the PID to ur target process\n";
    cin >> *PID;
    return 1;
}

int getProc(HANDLE* handleToProc, DWORD pid)
{
    *handleToProc = OpenProcess(PROCESS_ALL_ACCESS, false, pid);
    DWORD dwLastError = GetLastError();
    if (*handleToProc == NULL)
    {
        std::cout << "Unable to open process\n";
        return -1;
    }
    else {
        std::cout << "Process opened\n";
        return 1;
    }
}

int InjectDLL(DWORD PID, char* dll){
{
    HANDLE handleToProc;
    LPVOID LoadLibAddr;
    LPVOID baseAddr;
    HANDLE remThread;

    //Получить длинну dll
    int dlllength = strlen(dll) + 1;

    //Получаем обработку процесса
    if (getProc(&handleToProc, PID) < 0)
        return -1;

    //Загрузить kernel32 библиотеку
    LoadLibAddr = (LPVOID)GetProcAddress(GetModuleHandleA("kernel32.dll"), "LoadLibraryA");

    if (!LoadLibAddr)
        return -1;

    baseAddr = VirtualAllocEx(handleToProc, NULL, dlllength, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);

    if (!baseAddr)
        return -1;

    //Записываем путь к dll файлу
    if (!WriteProcessMemory(handleToProc, baseAddr, dll, dlllength, NULL))
        return -1;

    //Создаём удалённый поток
    renThread = CreateRemoteThread(handleToProc, NULL, NULL, (LPTHREAD_START_ROUTINE)LoadLibAddr, baseAddr, 0, NULL);
}

int main()
; {
    system("Cheat inject");

    int PID = -1;
    char* dll = new char[255];

    getDLLpath(dll);
    getPID(&PID);
}

Ответы (0 шт):