Работаю с 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];
Этот код работает на обеих системах.
Но почему же не работают предыдущие два