Does someone know in what state is a "Virtual" allocated Memory
when committed *and* released? (Win95 family).
betov.
when committed *and* released? (Win95 family).
betov.
I'm not entirely sure what you mean with 'state'
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/memory/hh/winbase/memman_3elf.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/memory/hh/winbase/memman_3elf.asp
Thanks, Hiro, but i know all this almost by heart now, and even some more
as i have carefully read some techincal paper from an M$ developer about
all types of allocations and ways to
Maybe i wrongly wrote the question:
First, i am talking of VirtualAlloc / VirtualFree. Let us say you ask the
WMM for some Memory with the
"MEM_RESERVE or MEM_COMMIT" flags.
Then later you do not want any more of this Mem and ask to Free it with only
"MEM_RELEASE" flag.
In this case, i thaught (and it seems to work so under NT family) that the
Memory is freed the same way as if you ask for it with the full:
"MEM_RELEASE or MEM_DECOMMIT" flags.
It is *not* true under 95 family.
It is just like if you reseve a room for rent, then go effectively living
for one week in the room. But when the owner give you the keys, you
"Un-reseve" the room and keep going living in it. What would this mean???
What could mean a both commited and released Memory??? For me, it doesn't
make sense, but it seems to exist under 95 family (or at least, the concerned
Pages remains marked as 'Valid' -or something like this -for the ones who
know internals of the thing--).
In such cases, with big amounts of Memory chunks (over 1 Mo * >=10 Chunks)
attributed and released enough time to be interleaved, the WMM produces
random hangs after a while. That took me two weeks to point out it, and i
have never been able to reproduce this effect under 2000.
So, the problem is solved for me, but i just would like to understand...
betov.
as i have carefully read some techincal paper from an M$ developer about
all types of allocations and ways to
Maybe i wrongly wrote the question:
First, i am talking of VirtualAlloc / VirtualFree. Let us say you ask the
WMM for some Memory with the
"MEM_RESERVE or MEM_COMMIT" flags.
Then later you do not want any more of this Mem and ask to Free it with only
"MEM_RELEASE" flag.
In this case, i thaught (and it seems to work so under NT family) that the
Memory is freed the same way as if you ask for it with the full:
"MEM_RELEASE or MEM_DECOMMIT" flags.
It is *not* true under 95 family.
It is just like if you reseve a room for rent, then go effectively living
for one week in the room. But when the owner give you the keys, you
"Un-reseve" the room and keep going living in it. What would this mean???
What could mean a both commited and released Memory??? For me, it doesn't
make sense, but it seems to exist under 95 family (or at least, the concerned
Pages remains marked as 'Valid' -or something like this -for the ones who
know internals of the thing--).
In such cases, with big amounts of Memory chunks (over 1 Mo * >=10 Chunks)
attributed and released enough time to be interleaved, the WMM produces
random hangs after a while. That took me two weeks to point out it, and i
have never been able to reproduce this effect under 2000.
So, the problem is solved for me, but i just would like to understand...
betov.