У меня есть обработанный процесс, который передает значение адреса как DWORD. Я хочу использовать это значение DWORD в функции потока, которая требует, чтобы параметр передавался как LPVOID, как я могу передать значение без его искажения? Это не настоящий код, но он настолько же запоминающийся, насколько я помню!Управляется неуправляемым кодом, значение DWORD для LPVOID
void incoming(DWORD addr)
{
CreateThread(...threadfunc, addr...);
}
DWORD WINAPI threadfunc(LPVOID param)
{
DWORD _addr = param
}
Проблема в том, принимающий ThreadFunc значения адр искажен так, когда я использую ReadProcessMemory(), например, он теперь мусор!
Спасибо.
Что это за указатель 'addr', указывающий на? –
Это требует проблем на 64-битных системах. Значение адреса 64 бит просто не помещается в DWORD. Вы не можете предотвратить его искажение. – MSalters