[so] tema 3 win - MapViewOfFileEx

Valentin Priescu vali.priescu at gmail.com
Tue May 5 21:30:14 EEST 2009


În data de 5 mai 2009, 18:42, Mircea Bardac <cs at mircea.bardac.net> a scris:

> Irina Stanescu wrote:
> > Nu cred ca facem noi nimic gresit.
> > Pur si simplu MapViewOfFileEx poate sa mapeze doar la adrese multiplu de
> > dimensiunea reala a paginilor din windows, deci nu e ceea ce ne trebuie.
>
> Hmm.. si... de ce mapati la adrese *diferite* de multiplu de dimensiunea
> paginilor din Windows?
>
> Anyway, in textul temei, la sectiunea "Precizari Windows", exista
> urmatorul text:
> """
> Pentru ca pe Windows, nu se pot crea (usor) pagini virtuale multiple de
> pagini ale sistemului (ci multiplu de 64 K) s-a definit variabila
>
>       static DWORD pageSize = 0x10000;
>
> care va fi folosita pentru a specifica dimensiunea unei pagini.
> """
>
> Folositi variabila "pageSize" pe Windows pentru a calcula multipli etc.
>
> --
> Mircea
> http://mircea.bardac.net
>


Dupa multe incercari de folosire a functiei MapViewOfFileEx, am gasit pe net
urmatoarea:

Typically, the suggested address is used to specify that a file should be
mapped at the same address in multiple processes. This requires the region
of address space to be available in all involved processes. No other memory
allocation, including use of the
*VirtualAlloc<http://www.piclist.com/techref/os/win/api/win32/func/src/f90_8.htm>
* function to reserve memory, can take place in the region used for mapping

suggested address = adresa data functiei MapViewOfFileEx. Textul e luat de
aici <http://www.piclist.com/techref/os/win/api/win32/func/src/f56_18.htm>.

Nu merge nici daca folosesti VirtualFree.

In cazul asta singura solutie este sa mapam tot fisierul ram in memorie si
sa facem sincronizarea intre memoria virtuala si fisierul ram "manual".

Corectati-ma daca gresesc.

-- 
Vali.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so/attachments/20090505/223593c9/attachment.htm>


More information about the so mailing list