ПредишенСледващото

Какво прави CreateProcess

K В този момент, ние вече сме преглед на структурите, които са част от процеса, както и API-функции, които ви позволяват (и операционната система), за да манипулира процеса. Можете също така научих как да се използват различни инструменти, за да контролира как процесите си взаимодействат със системата. Ho как тези процеси се раждат и как те са завършени в рамките на изпълнение на задълженията, за които са предназначени? В следващите секции ще научите как Windows генерирани процеси.

Създаване на Windows-процес се осъществява, като се обадите една от функциите, като CreateProcess, CreateProcessAsUser, CreateProcessWithTokenW или CreateProcessWitbLogonW, и се провежда на няколко етапа, включващи три операционни компонента: Kernel32.dll (от страна на клиента Windows библиотека), изпълнителен система и процеса на Windows подсистема среда ( csrss). Тъй като Windows архитектура поддържа подсистема множествена среда, операции, необходими за създаване на система за обект "процес" изпълнение (което може да се използва друга подсистема среда), отделена от операциите, необходими за създаване на Windows-процес. Поради това, част от Windows-специфични функции CreateProcess семантика за действие, внесени от подсистемата за Windows.

В Следващият списък описва основните стъпки за създаване на процес Windows функция CreateProcess. Подробно описание на действията на всеки етап е дадено в следващите раздели.

1. Отворете файла на изображението (EXE), което ще се извършва в процеса.

2. Създаване на обект "процес" изпълнителен система.

3. създава първичния поток (стека и контекст обект "поток" изпълнителната система).

4. подсистема Windows е уведомен за нов процес и конец.

5. започва изпълнение на първичния поток (освен знамето на CREATE_SUSPENDED).

Общата схема на процеса на създаване на Windows е показано на фиг. 6-5. Преди да отворите изпълним изображение за изпълнение, CreateProcess прави следното.

• Когато се обадите CreateProcess клас на приоритет, посочен в параметър CreationFlags и призова CreateProcess, можете да посочите няколко приоритетни класове. Windows избира най-ниската от тях.

• При новия метод не показва по подразбиране е приоритет класа към нормалното, освен ако класа приоритет на създателя на процеса не е равно IdIe или под нормата. В последния случай, новият процес получава една и съща класа приоритет, както на процеса на родител.

• Ако новият процес е определен клас на приоритет в реално време, както и създателят има привилегии Увеличете Scheduling приоритет, определен клас висок приоритет. С други думи, функцията CreateProcess успее, дори и ако лицето, което го е причинило, не е достатъчно привилегии, за да създадете процеси с клас на приоритет в реално време, - приоритет клас на новия процес ще бъде по-ниска, отколкото в реално време.

• Всички прозорци са сравнени с обектите на "десктоп", което е графично представяне на вашето работно място. Ако се обадите CreateProcess Непознат конкретен обект "десктоп", новият процес е в сравнение с текущия обект "работния плот" на създателя на процеса.

Това, което прави createprocess функция - прозорци ennee устройство (Ch

Свързани статии

Подкрепете проекта - споделете линка, благодаря!