Лекция Уйпалакова Динара Мукановна техника ғылымдарының магистрі, ат кафедрасының лекторы



бет4/4
Дата05.06.2023
өлшемі0,84 Mb.
#98784
түріЛекция
1   2   3   4
Дескрипторларды көшіру
Аталық және еншіліктегі үрдістердегі обьектіге қатынау үшін әр түрлі қатынас құру мүмкіндігін талап етеді. Осыны жүзеге асыру үшін еншілік үрдісте мұрагерленген дескрипторды қолданады. Тағы да үрдіске қосымша негізгі мұрагерлік дескриптор керек болуы мүмкін.
Жоғарыдағы мәселені оңай шешу үшін, аталық үрдіс керекті қатынас құру мүмкіндігі бар және мұрагерлік түрлеріне байланысты дескриптордың көшірмесін құрайды. Төменде дескриптор көшірмесін алудың функциясы көрсетілген.
BOOL DuplicateHandle( HANDLE hSourceProcess, HANDLE hSource,
HANDLE hTargetProcess, LPHANDLE lphTarget,
DWORD fdwAccess, BOOL fInherit, DWORD fdwOptions);
Үрдістен шығу және оның аяқталуы
Үрдіс аяқталғаннан кейін, ол ExitProcess функциясын аяқталу коды бар мәнімен шақырады. Бұл функция еш нәрсе қайтармайды, осыны шақырған үрдіс және оның барлық ағындары тоқтатылады.
Аяқталу кодын анықтау үшін басқа үрдістер GetExitCodeProcess функциясын қолданады.
BOOL GetExitCodeProcess ( HANDLE hProcess, LPDWORD lpdwExitCode);
hProcess айнымалысымен аықталынатын үрдістің PROCESS_QUERY_INFORMATION қатынасу құқығы болу керек (Open Process функциясын қараңыз).
lpdwExitCode параметрі DWORD типіндегі айнымалыларды көрсетеді, мұнда мәндер орналастырады. STILL_ACTIVE мәні үрдістің аяқталмағаны туралы мәнді көрсетеді.
Бір үрдіс басқа бір үрдісті тоқтатуы мүмкін, егерде оның дескрипторында қатынас құру жалаушасы болса PROCESS_TERMINATE. Үрдісті аяқтайтын функциялар тағы да үрдістен шығу кодтарында анықтайды.
BOOL TerminateProcess ( HANDLE hProcess, UINT uExitCode)
Үрдістің аяқталуын күту
Қарапайым және шектелген әдістің бірі - бұл басқа үрдіспен синхронизация жасау кезінде, үрдістің толықтай аяқталуын күту. Төменде жалпы арнайы Win 32 –ның күту функциялары көрсетілген:
Бұл функциялар әр түрлі үлкен типтегі обекілерге қолданады, үрдістердің дескрипторлары бұлар тек алғашқы пайдаланулар.
Функциялар топта көрсетілген үрдістердің ішінде бір үрдістің аяқталуын күте алады.
Оларға уақыт бойынша ұсынылған қорғау (блокировка) қолдануы мүмкін.
Төменде екі арнайы жалпы күту функциялары көрсетілген. lphObjects параметрі бір үрдістің (hObject типіндеі) дескрипторын көрсетеді. cObjects параметрінің мәні MAXIMUM_WAIT_OBJECTS тұрақтысынан аспауы керек.
Назарларыңызға рахмет
Консультациия: «АТ» кафедрасы , 2-Б корпус ,. 301каб

Достарыңызбен бөлісу:
1   2   3   4




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет