Re: Windows XP Professional PL OEM SP3:kernel 32:LocalAlloc

Autor: Radosław Sokół <rsokol_at_magsoft.com.pl>
Data: Tue 24 Nov 2009 - 21:49:42 MET
Message-ID: <2009112420494200@grush.one.pl>
Content-Type: text/plain; charset=ISO-8859-2; format=flowed

Piotr Marasz pisze:
> Z pomocą debugera z Visual C++ 6.0 Standard Edition zauważyłem, ze wywołanie
> funkcji LocalAlloc zmienia rejestry ECX,i EFL z 206h na 202h,ESP +8h. Może to
> powodować nieprzewidywalne błędy w programie. Powinna wykonać swoje zadanie i
> zmienić tylko EAX.

A zaobserwowałeś jakiekolwiek niepoprawne działanie progra-
mów? Ja obstawiam, że wszystko jest w porządku, bo przy tak
powszechnie używanej funkcji gdyby coś było nie tak to już
dawno by cały świat o tym wiedział.

I po co tutaj o tym piszesz?

> Pomyślałem, że róznica między GlobalAlloc a LocalAlloc powinna być taka, że
> GlobalAlloc zwróci adres 48 bitowy z segmentem, a LocalAlloc 32 bitowy, ale
> dokumentacji Microsoftu nic takiego nie ma.

No i słusznie, bo różnica była w 16-bitowych wersjach Windows.
Od Win32 w górę LocalAlloc() i GlobalAlloc() prawie się nie
różnią.

-- 
|""""""""""""""""""""""""""""""""""""""""""""""""""""""""""|
| Radosław Sokół  |  http://www.grush.one.pl/              |
|                 |  Politechnika Śląska                   |
\................... Microsoft MVP ......................../
Received on Tue Nov 24 21:55:04 2009

To archiwum zostało wygenerowane przez hypermail 2.1.8 : Tue 24 Nov 2009 - 22:42:02 MET