Немножко о памяти и версиях Windows
От: Krom Россия  
Дата: 25.08.03 06:16
Оценка:
Работаю с RAS.
Пытался сделать как написано в MSDN в примере к описанию ф-ии RasEnumDevices:

RasEnumDevices(NULL, &lpcb, &lpcDevices);
lpRasDevInfo = (LPRASDEVINFO) GlobalAlloc(GPTR, lpcb);
lpRasDevInfo->dwSize = sizeof(RASDEVINFO);


На последней строчке в Win98SE вылетает ошибка:
Программа The Program.EXE вызвала сбой при обращении к странице памяти.
Под Win2k SP2 все работает на ура.

Вопрос: почему так?

hMem = GlobalAlloc(GPTR, lpcb);
lpRasDevInfo = (LPRASDEVINFO) GlobalLock(hMem);
lpRasDevInfo->dwSize = sizeof(RASDEVINFO);


Приведенный выше код ведет себя тем же образом...

Я поступл по др. — применил NEW:
RasEnumDevices(NULL, &lpcb, &lpcDevices);
LPRASDEVINFO  lpRasDevInfo = new RASDEVINFO[lpcDevices];


Этот код работает на обеих системах.
Но почему же не работают предыдущие два
Best regards
Krom
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.