У меня есть ULONG64
SYMBOL_INFO
переменные из структуры, которая содержит виртуальный адрес, представленный в виде 18446744073709551572 значения, и мне нужно, чтобы преобразовать его в void*
так что я могу передать его функции ReadProcessMemory
.Как конвертировать ULONG64 указателю
Если я просто
reinterpret_cast<void*>(pSymInfo->Address)
это дает мне FFFFFFD4.
Почему? Что я делаю не так? Как я могу это исправить?
Заранее спасибо.
Это значение преобразуется в '0xFFFFFFFFFFFFFFD4' в шестнадцатеричном, так это выглядит, как ваш бросок просто усечение, что до 32-бита - предполагая, у вас есть только 32-битные построить. В качестве знакового значения оно равно '-44'. В любом случае это не действительный указатель - откуда взялось это значение? –
@Jonathan Potter Он пришел из следующего кода - http://pastie.org/9728688 – FrozenHeart
Это не похоже на настоящий адрес. Если вы не предоставите код, детали и контекст, вы вряд ли получите намного больше, чем было написано выше. –