First, what is A ??
Second, ReadProcessMemory returns a BOOL and not an int.
Third, you do not check the return value from ReadProcessMemory. If it's calse, you need to call GetLastError() to see what happened.
Fourth, the second argument is a void* because the function wants it that way.
Fifth, the third argument is a void* and not an int.
Sixth, the last argument is a pointer to a variable that receives the number of bytes transferred. You are supplying an uninitialized pointer.
So considering this code won't even compile without warnings, I 'm not surprised that it's not working.