Почему происходит подобная ошибка при GetLogicalDrives FindFirstFileA SetFileAttributesA на WinXP. Тотже код на 98 работает без проблем. Код запускаю под администратором.
Желательно указать конкретно на какой ф-ции происходит ошибка (см. в отладчике) и передаваемые ей параметры
call GetLogicalDrives < -- ERROR_NOACCESS (000003E6) Что-то вычитал, что хендл потока не имеет прав... Как эти права дать?
Вот, но мне сдается ERROR_NOACCESS появляется в коде sofydone где-то раньше, т.к. на w2k GetLogicalDrives вообще не устанавливает LastError _1579486273__gld.exe
У меня WINXP SP1 Запускаю , выводится мс-бокс Return: 0004017D Запускал под Админом. Вроде все пашет .
Уважаемые! XP-SP2 или w2k3. Адреса API хранятся в стеке. Вызов: call [ebp-x] ; GetLogicalDrives Ошибка! Тоже самое с FindFirstFileA и SetFileAttributesA. На 98 все работает! Ниужели никто не сталкивался??! Нужны ли какиенить потоки и с какими правами?
Фух!! Вроде разобрался... .386 .model flat, stdcall option casemap:none include \masm32\include\windows.inc include \masm32\include\kernel32.inc includelib \masm32\lib\kernel32.lib .code start: ;lea esp,[esp-7fh] ; <--- ! call GetLogicalDrives ;lea esp,[esp+7fh] ; <--- ! push 0 call ExitProcess end start Если раскоментить две строчки - работать под XPSP2 не будет!!! Это что?? Стека не хватает?? И как кстати это решить?
Да... касяк. Как-то не подумал . Кстати, остальное-то работает Так что-же, прежде чем структуру в стек пихать надо выравнивать на 4 ?? ЗЫ: Уважаемые Админы. Вы хоть както обозначайте, что тема перенесена. А то я думал, что меня просто выкинули