Sanophy

Through this VirtualMemorySize64 member of the process class, you can see how much memory a certain process is allowed....

My question, how can you find which block of memory (the physical addresses) that process is allowed

TIA


Re: Visual C# General Process: VirtualMemorySize64 Question

Mark Dawson

Hi,

the virtual addresses in the process space are translated to physcial addresses by the Operating System, they are not guaranteed to stay the same over time as pages of memory are paged out and back in. Also just because your process is in theory given a certain amount of memory does not mean you can actually use all that, since when it is mapped to physical addresses it is most likely not contiguous most of the time. If you tried to alocate something that requires contiguous memory, such as an array, say of 400MB, that may fail even though you have more non contiguous memory available to you.

What problem are you trying to solve

Mark.






Re: Visual C# General Process: VirtualMemorySize64 Question

Sanophy

Thanks for the reply, Mark.

Basic rundown of my issue: There is a process running on my computer, of which uses variables thats values are hidden from the user. (Not exactly hidden, but not explicit). I need to know where those variables are stored so I can read them in order to have my program act on their condition... It seems confounded, but necessary to accomplish what I need to do.

Thanks Smile




Re: Visual C# General Process: VirtualMemorySize64 Question

Mark Dawson

Hi,

unless the process exposes this information in some other way I doubt you will be able to find this information, a process is a security boundary, normally a processes memory cannot be accessed by another process.

Mark.