Насколько я знаю, единственный способ это прочитать. ReadProcessMemory
вернет 0, если блок памяти, который вы хотите прочитать, не полностью доступен в процессе, например, его часть не выделена.
Использование меньшего nSize
(1024 или 512 или даже 1) - это обходной путь.