int dbg_offset; /* debug info offset */
int dbg_size; /* debug info size */
size_t namelen; /* length of dll file name */
- char *filename; /* dll file name */
+ WCHAR *filename; /* dll file name */
};
struct process
int suspend; /* global process suspend count */
int create_flags; /* process creation flags */
struct list locks; /* list of file locks owned by the process */
+ struct list classes; /* window classes owned by the process */
struct console_input*console; /* console input */
enum startup_state startup_state; /* startup state */
struct startup_info *startup_info; /* startup info while init is in progress */
struct atom_table *atom_table; /* pointer to local atom table */
struct token *token; /* security token associated with this process */
struct process_dll exe; /* main exe file */
+ void *peb; /* PEB address in client address space */
void *ldt_copy; /* pointer to LDT copy in client addr space */
- void *ldt_flags; /* pointer to LDT flags in client addr space */
};
struct process_snapshot
int count; /* process refcount */
int threads; /* number of threads */
int priority; /* priority class */
+ int handles; /* number of handles */
};
struct module_snapshot
void *base; /* module base addr */
size_t size; /* module size */
size_t namelen; /* length of file name */
- char *filename; /* module file name */
+ WCHAR *filename; /* module file name */
};
/* process functions */
extern struct process *get_process_from_handle( obj_handle_t handle, unsigned int access );
extern int process_set_debugger( struct process *process, struct thread *thread );
extern int debugger_detach( struct process* process, struct thread* debugger );
+extern int set_process_debug_flag( struct process *process, int flag );
extern void add_process_thread( struct process *process,
struct thread *thread );