Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.19;
Скачать: CL | DM;

Вниз

CGI - System Error. Code: 5. Отказано в доступе   Найти похожие ветки 

 
AlexLumpov   (2002-07-31 13:02) [0]

Уважаемые мастера! Если кто сталкивался.
Пишу cgi и тестирую его под Win2k Server. Хочу из cgi передавать запросы основной программе используя общую память (Sharem Memory). На вызов CreateFileMapping($FFFFFFFF, nil, PAGE_READWRITE, 0, RealSize, PChar(Name)) из Cgi ругается:
System Error. Code: 5. Отказано в доступе.
Если остановить основную программу то ругается по другому:
System Error. Code: 2. Не удается найти указанный файл.
Что делать?


 
AlexLumpov   (2002-07-31 13:05) [1]

поправка

из cgi делается вызов
OpenFileMapping(FILE_MAP_WRITE, true, PChar(Name))

а тот вызов, который указан в 1-ом сообщении делается из основной программы


 
Набережных С.   (2002-07-31 22:11) [2]

Ты создаешь файд с дескриптором безопасности основной программы и у CGI не хватает прав на его открытие. Нужно создать дескриптор с такими DACL, чтобы у CGI хватило прав. Тема очень большая и далеко не самая простая. Вот так можно создать дескриптор с нулевым даклом, разрешающим неограниченный доступ к объекту:

var
FSD : TSecurityDescriptor;
FPSD : PSecurityDescriptor;

if
InitializeSecurityDescriptor(@FSD,SECURITY_DESCRIPTOR_REVISION)
and
SetSecurityDescriptorDacl(@FSD,true,nil,false)
then
FPSD:=@FSD
else
RaiseLastWin32Error;

var
SA : TSecurityAttributes;
PSA : PSecurityAttributes;

if FPSD <> nil then
begin
ZeroMemory(@SA,SizeOf(SA));
SA.nLength:=SizeOf(SA);
SA.lpSecurityDescriptor:=FPSD;
SA.bInheritHandle:=true;
PSA:=@SA;
end
else
PSA:=nil;

Этот код выдернут из двух разных мест и поэтому выглядет несколько избыточным.
Подставь PSA вместо нил в CreateFileMapping и все должно заработать. Но учти, что такой объект совершенно не защищен.
Если хочешь разобраться, ищи в мсдн тему "creating security descriptor for new objec" или типа того.




Страницы: 1 вся ветка

Текущий архив: 2002.09.19;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
3-60986
Serg2002
2002-08-29 12:23
2002.09.19
Ограничение лицензии IB6 на 5 пользователей


3-60948
roadstar
2002-08-27 12:46
2002.09.19
Помогите


3-60941
kest2
2002-08-28 09:35
2002.09.19
Ошибка?! (Повторяю вопрос)


1-61058
evgeg
2002-09-09 12:09
2002.09.19
Как сделать компонент для обр-ки горячих клавиш?


14-61289
BigBadMutuh
2002-08-23 04:28
2002.09.19
Нужен снимок водопада.