Недокументированные функции NTDLL

2 декабря 2000



RTL_USER_PROCESS_PARAMETERS

typedef struct _RTL_USER_PROCESS_PARAMETERS {

ULONG MaximumLength; ULONG Length; ULONG Flags; ULONG DebugFlags; PVOID ConsoleHandle; ULONG ConsoleFlags; HANDLE StdInputHandle; HANDLE StdOutputHandle; HANDLE StdErrorHandle; UNICODE_STRING CurrentDirectoryPath; HANDLE CurrentDirectoryHandle; UNICODE_STRING DllPath; UNICODE_STRING ImagePathName; UNICODE_STRING CommandLine; PVOID Environment; ULONG StartingPositionLeft; ULONG StartingPositionTop; ULONG Width; ULONG Height; ULONG CharWidth; ULONG CharHeight; ULONG ConsoleTextAttributes; ULONG WindowFlags; ULONG ShowWindowFlags; UNICODE_STRING WindowTitle; UNICODE_STRING DesktopName; UNICODE_STRING ShellInfo; UNICODE_STRING RuntimeData; RTL_DRIVE_LETTER_CURDIR DLCurrentDirectory[0x20];

} RTL_USER_PROCESS_PARAMETERS, *PRTL_USER_PROCESS_PARAMETERS;



MaximumLength
Максимальная длина. Нужно установить до вызова RtlCreateProcessParameters.
Length
Длина структуры.
Flags
Сейчас известен только один флаг: PPF_NORMALIZED (1) // Означает, что структура нормализована для вызова RtlNormalizeProcessParams
DebugFlags
ConsoleHandle
HWND консольного окна, ассоциированного с процессом (если есть).
ConsoleFlags
StdInputHandle
StdOutputHandle
StdErrorHandle
CurrentDirectoryPath
Путь к текущему каталогу в DOS-формате, например: "C:\WinNT\SYSTEM32"
CurrentDirectoryHandle
Хэндл объекта FILE.
DllPath
Пути в DOS-формате, разделённые ';' где система ищет DLL-файлы.
ImagePathName
Полный путь в DOS-формате к образу файла процесса.
CommandLine
Командная строка.
Environment
Указатель на блок окружения (см. RtlCreateEnvironment).
StartingPositionLeft
StartingPositionTop
Width
Height
CharWidth
CharHeight
ConsoleTextAttributes
WindowFlags
ShowWindowFlags
WindowTitle
DesktopName
Имя объектов WindowStation и Desktop, к которым относится процесс.
ShellInfo
RuntimeData
DLCurrentDirectory[0x20]
- ???
RTL_USER_PROCESS_PARAMETERS находятся по адресу 0x20000 (для всех процессов, созданных с помощью вызова WIN32 API функции CreateProcess).


Документировал:
Reactos
Томаш Новак



Зависимости:
Библиотека: ntdll.lib


См. также:
PEB
RTL_DRIVE_LETTER_CURDIR
RtlCreateEnvironment
RtlCreateProcessParameters
RtlCreateUserProcess
RtlDeNormalizeProcessParams
RtlDestroyProcessParameters
RtlNormalizeProcessParams