typedef struct _RTL_USER_PROCESS_PARAMETERS
{
    unsigned long MaximumLength;
    unsigned long Length;
    unsigned long Flags;
    unsigned long DebugFlags;
    void *ConsoleHandle;
    unsigned long ConsoleFlags;
    void *StandardInput;
    void *StandardOutput;
    void *StandardError;
    CURDIR CurrentDirectory;
    UNICODE_STRING DllPath;
    UNICODE_STRING ImagePathName;
    UNICODE_STRING CommandLine;
    void *Environment;
    unsigned long StartingX;
    unsigned long StartingY;
    unsigned long CountX;
    unsigned long CountY;
    unsigned long CountCharsX;
    unsigned long CountCharsY;
    unsigned long FillAttribute;
    unsigned long WindowFlags;
    unsigned long ShowWindowFlags;
    UNICODE_STRING WindowTitle;
    UNICODE_STRING DesktopInfo;
    UNICODE_STRING ShellInfo;
    UNICODE_STRING RuntimeData;
    RTL_DRIVE_LETTER_CURDIR CurrentDirectores[32];
    volatile unsigned __int64 EnvironmentSize;
    volatile unsigned __int64 EnvironmentVersion;
} RTL_USER_PROCESS_PARAMETERS, *PRTL_USER_PROCESS_PARAMETERS;