![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Непонятки с WaitForSingleObject [D6, Win95/98, WinME, Win2k, WinXP]
LOMic © (2003-09-22 11:45:00)
Добрый день, мастера.
У меня под Win2000 тормозит код(вернее WaitForSingleObject долго работает). Под Win 95,98,Me,XP все OK. В чем проблема ?
Код:
APCmdString:= "Subst.exe <список параметров>";
ExitCode:= DWORD(-1);
ZeroMemory( @piProcInfo, sizeof(PROCESS_INFORMATION) );
ZeroMemory( @siStartInfo, sizeof(STARTUPINFO) );
siStartInfo.cb:= sizeof(STARTUPINFO);
Success:= CreateProcess(nil,
PChar (APCmdString),
nil,
nil,
FALSE,
CREATE_NO_WINDOW,
nil,
nil,
siStartInfo,
piProcInfo);
if Success then begin
HProcess:= piProcInfo.hProcess;
CloseHandle(piProcInfo.hThread);
if(WaitForSingleObject(HProcess, INFINITE) = AIT_OBJECT_0)
then begin
GetExitCodeProcess(HProcess, ExitCode);
CloseHandle(HProcess);
result:= TRUE;
exit;
end;
end;
LOMic (2003-09-22 15:53:00) [1]
> WaitForSingleObject понятия не имеет о каких-либо виртуальных
> дисках. Он ждет, когда система (ядро) переведет заданный
> объект ядра в "Сигнальное состояние" (ждет, надо сказать,
> добросовестно :)). И все, и ничего более
Это понятно. Я не говорю что WaitForSingleObject криво работает.
Может я процесс для Win2000 криво создаю. Может какие флаги надо установить, может что-нить еще?
Verg (2003-09-22 15:12:00) [2]
WaitForSingleObject понятия не имеет о каких-либо виртуальных дисках. Он ждет, когда система (ядро) переведет заданный объект ядра в "Сигнальное состояние" (ждет, надо сказать, добросовестно :)). И все, и ничего более.
Так что, не надо на него грешить, ищите в другом месте.
LOMic (2003-09-22 14:38:00) [3]
Факт - это появился или был удален виртуальный диск.
Можно увидеть диск например в Total Commander (т.е. subst уже отработал), а WaitForSingleObject ждет еще секунд 10-15(win2000). В Win 95,98,Me,XP у меня этого ожидания не наблюдается. Вотъ.
Verg (2003-09-22 12:31:00) [4]
> А под Win 95,98,Me, XPвсе OK...
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1062738445&n=5
Verg (2003-09-22 12:28:00) [5]
> По факту Subst.exe <список параметров> уже отработала а
>
Факт - это ....?
LOMic (2003-09-22 12:21:00) [6]
По факту Subst.exe <список параметров> уже отработала а WaitForSingleObject ждет еще секунд 10-15(под Win2000).
А под Win 95,98,Me,XP все OK...
Verg (2003-09-22 12:06:00) [7]
> вернее WaitForSingleObject долго работает
О как?
Но он же ждет завершения "Subst.exe <список параметров>", что ж ему делать то еще?