Инфо IT 24

IT блог, IT мышление

Запускаемая программа

Запускаемая программаПараметр IpApplicationName задает имя программы, которая должна быть выполнена. Если данный параметр равен NULL, то имя запускаемой программы должно задаваться в параметре lpCommandLine. В данном параметре также задаются и параметры, передаваемые запускаемой программе. Если параметр lpCommandLine имеет значение NULL, то запускаемая программа берется из параметра IpApplicationName. Если обе строки не равны NULL, то параметр IpApplicationName задает запускаемую программу, а в параметре lpCommandLine передается список параметров для данной программы, разделенных пробелами.

Параметр IpProcessAttributes используется для задания создаваемому процессу прав доступа, отличных от прав по умолчанию. Кроме того, один из элементов структуры, на которую указывает данный параметр, используется для указания того, что дескриптор процесса, созданного в результате вызова функции CreateProcessQ, может быть унаследован процессами-потомками.

Параметр lpThreadAttributes используется так же, как и параметр IpProcessAttributes. Но если параметр IpProcessAttributes предназначен для изменения параметров создаваемого процесса, то данные, передаваемые в параметре lpThreadAttributes, используются для изменения параметров первичного потока создаваемого процесса.

Параметр blnheritHandles используется для указания того, должен ли дочерний процесс наследовать все наследуемые дескрипторы от процесса-родителя или нет. При этом наследуются не только дескрипторы открытых файлов, но и дескрипторы созданных процессов, каналов и других системных ресурсов. Унаследованные дескрипторы имеют те же самые значения и те же самые права доступа. Следует отметить, что наследуются не все дескрипторы, а только те, которые помечены как наследуемые. Это свойство дескрипторов очень важно при организации межпроцессного взаимодействия.

Параметр dwCreationFlags предназначен для задания класса приоритета создаваемого процесса, а также используется для управления свойствами процесса. Например, если процесс-родитель и создаваемый процесс являются консольными приложениями и в параметре передается значение CREATE_NEW_CONSOLE, то созданный процесс будет иметь свое собственное консольное окно. Без указания данного параметра новое окно не создается, а созданный процесс наследует консольное окно процесса-родителя.

Статью опубликовал: i24TbloG

Метки:

Из каталога:

Программирование Linux

Предыдущая статья:

Следующая статья: