You might post this in one of the developer forums, however does disabling
DEP for that specific executable not work?
J
"Paul Pluzhnikov" <ppluzhnikov-(E-Mail Removed)> wrote in message
news:OU$XMx$(E-Mail Removed)...
> Greetings,
>
> This is more of a programming question, and doesn't appear to quite
> fit into this newsgroup. Please feel free to direct me to a more
> appropriate forum (if one exists).
>
> I have an application (compiler) which dumps its whole parse
> tree into a file, and then re-loads it later (for precompiled
> header processing), via MapViewOfFileEx().
>
> Because the parse tree contains pointers, it must be re-loaded at
> the same address it was when it was saved [1].
>
> This works fine everywhere, but breaks on Vista(R) due to address
> space layout randomization (ASLR).
>
> I can try to map the file at the same address it was when it was
> saved, but there is a chance that some DLL has already created a
> Heap in that space, and then the mapping will fail.
>
> Questions:
> 1. Is there any address range that is "safe" from ASLR placing a
> Heap there? (I could then hard-code that address).
> 2. Is there any way to tell Vista that "this executable's address
> space should not be randomized" ?
> 3. Any other way for an executable to "reserve" certain fixed
> address region?
>
> Thanks,
>
>
> [1]. Yes, I know I can save the parse tree in an alternative format
> (using offsets instead of pointers), and then I would not care what
> the mapping address is. But this is significantly slower.
>
> --
> In order to understand recursion you must first understand recursion.
> Remove /-nsp/ for email.
|