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


Oрындаушы образ бен командалық жолды анықтау



бет3/4
Дата05.06.2023
өлшемі0,84 Mb.
#98784
түріЛекция
1   2   3   4
Oрындаушы образ бен командалық жолды анықтау
1pszImageName және 1pszCommandline параметрлері төменде келтірілген ережелерді жетекшілікке алып, орындаушы образдың атын анықтайды.
Егерде параметр мәні NULL емес, 1pszImageName болса, онда бұл атау орындаушы файлдыкы. Егерде олардың екеуіде бос жер құраса, жақшаны пайдалануға болады.
Кері жағдайда орындаушы файлдың атауы – 1pszCommandline параметрінің бірінші элементі әдетте NULL-дің мәні иеленген 1pszImageName параметрін иеленген тек 1pszCommandline параметрі ғана көрсетіледі.
Егерде 1pszImageName параметрі NULL мәнді иеленсе, онда ол салынатын файлдың атын көрсетеді. Файлдың толық жолы мен атын көрсетіндер. Тек қана файлдың атын көрсетуге де болады, онда ағымдағы дискі мен қосымша іздестіру каталогынсыз пайдалануға болады. Файлдың атына оның кеңеюіне (.EXE, .BAT және т.б.) қосындар.
Егерде 1pszImageName параметрі NULL мәніне ие болса, онда программа аты үшін бос жерімен бөлектелген 1pszCommandline параметрінің бірінші элементі қабылданады. Егерде осы атау толық жолды құрай алмаса, онда белгілі бір жалғастығы іздестіру жүргізіледі.
образ каталогының ағындағы процесі.
ағындағы каталог
функция шақыру дәнекерлігімен алынған Windows жүйелік каталогы.
функцияны шақыру дәнекерлестігімен алынған Windows каталогы.
PATH өзгермелі қоршауындағы көрсетілген каталогтар.
Үрдістердің идентификациясы
process_information құрылымынан үрдіс жаңа еншілік үрдістің идентификаторын және дескрипторын алуы мүмкін. еншілік үрдістің жабылуы оны жоймайды, оған тек аталық үрдістің қатынау жолы жойылады.
ағымдағы үрдістің мазмұнын алу үшін, мынадай екі функциялар қолданады.
HANDLE GetCurrentProcess (VOID)
DWORD GetCurrentProcessId (VOID)
GetCurrentProcess функциясы мұрагерлік ете алмайтын псевдодескрипторларды қайтарады. Бұл мәндерді негізінен үрдіске тек өзінің дескрипторы қажет болған жағдайда қолданады. GetCurrentProcessId функциясы арқылы қайтарылған шақыру OpenProcess функциясының мәнін қолдана отырып, үрдістің ID-ін пайдаланып, нағыз дескрипторды құруға болады.
HANDLE OpenProcess ( DWORD fdwAccess, BOOL fInherit, DWORD IDProcess)
Қайтарылатын мән: үрдістің дескрипторын немесе қате болғанда NULL.
Параметрлері
fdwAccess параметрі үрдістің дескрипторға қатынау құқығын анықтайды.
Мысалы,
SYNCHRONIZE жалаушасы күту функциясын қолдана отырып, ағындағы үрдіс аяқталып болғанша, басқа үрдістердің күтуін қадағалайды.
PROCESS_ALL_ACCESS – қатынау жалаушаларының барлығы орнатылған.
PROCESS_TERMINATE жалаушасы TerminateProcess шақыру функциясын қолдана отырып, үрдістің аяқталуын жүзеге асырады.
PROCESS_QUERY_INFORMATION жалаушасы GetExitCodeProcess және GetPriorityClass функциясымен бірге дескрипторды қолданып, үрдістің ақпаратын алуды жүзеге асырады. Ал fInherit жаңа дескриптор мұрагерлік бола алатындығын немесе бола алмайтындығын анықтайды.
IDProcess – те үрдістің идентификаторы болады, яғни оған қатысты дескриптор.


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




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

    Басты бет