server: Add a module_handle_t type to represent client-side module handles.
This commit is contained in:
parent
edda4637b4
commit
cb2788efaf
|
@ -26,6 +26,8 @@ typedef unsigned __int64 lparam_t;
|
||||||
typedef unsigned __int64 apc_param_t;
|
typedef unsigned __int64 apc_param_t;
|
||||||
typedef unsigned __int64 mem_size_t;
|
typedef unsigned __int64 mem_size_t;
|
||||||
typedef unsigned __int64 file_pos_t;
|
typedef unsigned __int64 file_pos_t;
|
||||||
|
typedef void *client_ptr_t;
|
||||||
|
typedef client_ptr_t mod_handle_t;
|
||||||
|
|
||||||
struct request_header
|
struct request_header
|
||||||
{
|
{
|
||||||
|
@ -68,7 +70,7 @@ struct debug_event_create_process
|
||||||
obj_handle_t file;
|
obj_handle_t file;
|
||||||
obj_handle_t process;
|
obj_handle_t process;
|
||||||
obj_handle_t thread;
|
obj_handle_t thread;
|
||||||
void *base;
|
mod_handle_t base;
|
||||||
int dbg_offset;
|
int dbg_offset;
|
||||||
int dbg_size;
|
int dbg_size;
|
||||||
void *teb;
|
void *teb;
|
||||||
|
@ -83,7 +85,7 @@ struct debug_event_exit
|
||||||
struct debug_event_load_dll
|
struct debug_event_load_dll
|
||||||
{
|
{
|
||||||
obj_handle_t handle;
|
obj_handle_t handle;
|
||||||
void *base;
|
mod_handle_t base;
|
||||||
int dbg_offset;
|
int dbg_offset;
|
||||||
int dbg_size;
|
int dbg_size;
|
||||||
void *name;
|
void *name;
|
||||||
|
@ -91,7 +93,7 @@ struct debug_event_load_dll
|
||||||
};
|
};
|
||||||
struct debug_event_unload_dll
|
struct debug_event_unload_dll
|
||||||
{
|
{
|
||||||
void *base;
|
mod_handle_t base;
|
||||||
};
|
};
|
||||||
struct debug_event_output_string
|
struct debug_event_output_string
|
||||||
{
|
{
|
||||||
|
@ -530,7 +532,7 @@ struct get_startup_info_reply
|
||||||
struct init_process_done_request
|
struct init_process_done_request
|
||||||
{
|
{
|
||||||
struct request_header __header;
|
struct request_header __header;
|
||||||
void* module;
|
mod_handle_t module;
|
||||||
void* entry;
|
void* entry;
|
||||||
int gui;
|
int gui;
|
||||||
};
|
};
|
||||||
|
@ -677,7 +679,7 @@ struct get_dll_info_request
|
||||||
{
|
{
|
||||||
struct request_header __header;
|
struct request_header __header;
|
||||||
obj_handle_t handle;
|
obj_handle_t handle;
|
||||||
void* base_address;
|
mod_handle_t base_address;
|
||||||
};
|
};
|
||||||
struct get_dll_info_reply
|
struct get_dll_info_reply
|
||||||
{
|
{
|
||||||
|
@ -720,7 +722,7 @@ struct load_dll_request
|
||||||
{
|
{
|
||||||
struct request_header __header;
|
struct request_header __header;
|
||||||
obj_handle_t handle;
|
obj_handle_t handle;
|
||||||
void* base;
|
mod_handle_t base;
|
||||||
void* name;
|
void* name;
|
||||||
data_size_t size;
|
data_size_t size;
|
||||||
int dbg_offset;
|
int dbg_offset;
|
||||||
|
@ -737,7 +739,7 @@ struct load_dll_reply
|
||||||
struct unload_dll_request
|
struct unload_dll_request
|
||||||
{
|
{
|
||||||
struct request_header __header;
|
struct request_header __header;
|
||||||
void* base;
|
mod_handle_t base;
|
||||||
};
|
};
|
||||||
struct unload_dll_reply
|
struct unload_dll_reply
|
||||||
{
|
{
|
||||||
|
@ -2777,7 +2779,7 @@ struct create_window_request
|
||||||
user_handle_t parent;
|
user_handle_t parent;
|
||||||
user_handle_t owner;
|
user_handle_t owner;
|
||||||
atom_t atom;
|
atom_t atom;
|
||||||
void* instance;
|
mod_handle_t instance;
|
||||||
/* VARARG(class,unicode_str); */
|
/* VARARG(class,unicode_str); */
|
||||||
};
|
};
|
||||||
struct create_window_reply
|
struct create_window_reply
|
||||||
|
@ -2860,7 +2862,7 @@ struct set_window_info_request
|
||||||
unsigned int ex_style;
|
unsigned int ex_style;
|
||||||
unsigned int id;
|
unsigned int id;
|
||||||
int is_unicode;
|
int is_unicode;
|
||||||
void* instance;
|
mod_handle_t instance;
|
||||||
lparam_t user_data;
|
lparam_t user_data;
|
||||||
int extra_offset;
|
int extra_offset;
|
||||||
data_size_t extra_size;
|
data_size_t extra_size;
|
||||||
|
@ -2872,7 +2874,7 @@ struct set_window_info_reply
|
||||||
unsigned int old_style;
|
unsigned int old_style;
|
||||||
unsigned int old_ex_style;
|
unsigned int old_ex_style;
|
||||||
unsigned int old_id;
|
unsigned int old_id;
|
||||||
void* old_instance;
|
mod_handle_t old_instance;
|
||||||
lparam_t old_user_data;
|
lparam_t old_user_data;
|
||||||
lparam_t old_extra_value;
|
lparam_t old_extra_value;
|
||||||
};
|
};
|
||||||
|
@ -3656,7 +3658,7 @@ struct create_class_request
|
||||||
int local;
|
int local;
|
||||||
atom_t atom;
|
atom_t atom;
|
||||||
unsigned int style;
|
unsigned int style;
|
||||||
void* instance;
|
mod_handle_t instance;
|
||||||
int extra;
|
int extra;
|
||||||
int win_extra;
|
int win_extra;
|
||||||
void* client_ptr;
|
void* client_ptr;
|
||||||
|
@ -3674,7 +3676,7 @@ struct destroy_class_request
|
||||||
{
|
{
|
||||||
struct request_header __header;
|
struct request_header __header;
|
||||||
atom_t atom;
|
atom_t atom;
|
||||||
void* instance;
|
mod_handle_t instance;
|
||||||
/* VARARG(name,unicode_str); */
|
/* VARARG(name,unicode_str); */
|
||||||
};
|
};
|
||||||
struct destroy_class_reply
|
struct destroy_class_reply
|
||||||
|
@ -3693,7 +3695,7 @@ struct set_class_info_request
|
||||||
atom_t atom;
|
atom_t atom;
|
||||||
unsigned int style;
|
unsigned int style;
|
||||||
int win_extra;
|
int win_extra;
|
||||||
void* instance;
|
mod_handle_t instance;
|
||||||
int extra_offset;
|
int extra_offset;
|
||||||
data_size_t extra_size;
|
data_size_t extra_size;
|
||||||
lparam_t extra_value;
|
lparam_t extra_value;
|
||||||
|
@ -3705,7 +3707,7 @@ struct set_class_info_reply
|
||||||
unsigned int old_style;
|
unsigned int old_style;
|
||||||
int old_extra;
|
int old_extra;
|
||||||
int old_win_extra;
|
int old_win_extra;
|
||||||
void* old_instance;
|
mod_handle_t old_instance;
|
||||||
lparam_t old_extra_value;
|
lparam_t old_extra_value;
|
||||||
};
|
};
|
||||||
#define SET_CLASS_ATOM 0x0001
|
#define SET_CLASS_ATOM 0x0001
|
||||||
|
|
|
@ -46,7 +46,7 @@ struct window_class
|
||||||
int count; /* reference count */
|
int count; /* reference count */
|
||||||
int local; /* local class? */
|
int local; /* local class? */
|
||||||
atom_t atom; /* class atom */
|
atom_t atom; /* class atom */
|
||||||
void *instance; /* module instance */
|
mod_handle_t instance; /* module instance */
|
||||||
unsigned int style; /* class style */
|
unsigned int style; /* class style */
|
||||||
int win_extra; /* number of window extra bytes */
|
int win_extra; /* number of window extra bytes */
|
||||||
void *client_ptr; /* pointer to class in client address space */
|
void *client_ptr; /* pointer to class in client address space */
|
||||||
|
@ -91,7 +91,7 @@ void destroy_process_classes( struct process *process )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct window_class *find_class( struct process *process, atom_t atom, void *instance )
|
static struct window_class *find_class( struct process *process, atom_t atom, mod_handle_t instance )
|
||||||
{
|
{
|
||||||
struct list *ptr;
|
struct list *ptr;
|
||||||
|
|
||||||
|
@ -105,7 +105,7 @@ static struct window_class *find_class( struct process *process, atom_t atom, vo
|
||||||
}
|
}
|
||||||
|
|
||||||
struct window_class *grab_class( struct process *process, atom_t atom,
|
struct window_class *grab_class( struct process *process, atom_t atom,
|
||||||
void *instance, int *extra_bytes )
|
mod_handle_t instance, int *extra_bytes )
|
||||||
{
|
{
|
||||||
struct window_class *class = find_class( process, atom, instance );
|
struct window_class *class = find_class( process, atom, instance );
|
||||||
if (class)
|
if (class)
|
||||||
|
|
|
@ -205,7 +205,8 @@ static int fill_load_dll_event( struct debug_event *event, void *arg )
|
||||||
|
|
||||||
static int fill_unload_dll_event( struct debug_event *event, void *arg )
|
static int fill_unload_dll_event( struct debug_event *event, void *arg )
|
||||||
{
|
{
|
||||||
event->data.info.unload_dll.base = arg;
|
mod_handle_t *base = arg;
|
||||||
|
event->data.info.unload_dll.base = *base;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -505,7 +505,7 @@ struct process *get_process_from_handle( obj_handle_t handle, unsigned int acces
|
||||||
}
|
}
|
||||||
|
|
||||||
/* find a dll from its base address */
|
/* find a dll from its base address */
|
||||||
static inline struct process_dll *find_process_dll( struct process *process, void *base )
|
static inline struct process_dll *find_process_dll( struct process *process, mod_handle_t base )
|
||||||
{
|
{
|
||||||
struct process_dll *dll;
|
struct process_dll *dll;
|
||||||
|
|
||||||
|
@ -518,7 +518,8 @@ static inline struct process_dll *find_process_dll( struct process *process, voi
|
||||||
|
|
||||||
/* add a dll to a process list */
|
/* add a dll to a process list */
|
||||||
static struct process_dll *process_load_dll( struct process *process, struct file *file,
|
static struct process_dll *process_load_dll( struct process *process, struct file *file,
|
||||||
void *base, const WCHAR *filename, data_size_t name_len )
|
mod_handle_t base, const WCHAR *filename,
|
||||||
|
data_size_t name_len )
|
||||||
{
|
{
|
||||||
struct process_dll *dll;
|
struct process_dll *dll;
|
||||||
|
|
||||||
|
@ -547,7 +548,7 @@ static struct process_dll *process_load_dll( struct process *process, struct fil
|
||||||
}
|
}
|
||||||
|
|
||||||
/* remove a dll from a process list */
|
/* remove a dll from a process list */
|
||||||
static void process_unload_dll( struct process *process, void *base )
|
static void process_unload_dll( struct process *process, mod_handle_t base )
|
||||||
{
|
{
|
||||||
struct process_dll *dll = find_process_dll( process, base );
|
struct process_dll *dll = find_process_dll( process, base );
|
||||||
|
|
||||||
|
@ -557,7 +558,7 @@ static void process_unload_dll( struct process *process, void *base )
|
||||||
free( dll->filename );
|
free( dll->filename );
|
||||||
list_remove( &dll->entry );
|
list_remove( &dll->entry );
|
||||||
free( dll );
|
free( dll );
|
||||||
generate_debug_event( current, UNLOAD_DLL_DEBUG_EVENT, base );
|
generate_debug_event( current, UNLOAD_DLL_DEBUG_EVENT, &base );
|
||||||
}
|
}
|
||||||
else set_error( STATUS_INVALID_PARAMETER );
|
else set_error( STATUS_INVALID_PARAMETER );
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,7 +37,7 @@ struct process_dll
|
||||||
{
|
{
|
||||||
struct list entry; /* entry in per-process dll list */
|
struct list entry; /* entry in per-process dll list */
|
||||||
struct file *file; /* dll file */
|
struct file *file; /* dll file */
|
||||||
void *base; /* dll base address (in process addr space) */
|
mod_handle_t base; /* dll base address (in process addr space) */
|
||||||
void *name; /* ptr to ptr to name (in process addr space) */
|
void *name; /* ptr to ptr to name (in process addr space) */
|
||||||
data_size_t size; /* dll size */
|
data_size_t size; /* dll size */
|
||||||
int dbg_offset; /* debug info offset */
|
int dbg_offset; /* debug info offset */
|
||||||
|
|
|
@ -42,6 +42,8 @@ typedef unsigned __int64 lparam_t;
|
||||||
typedef unsigned __int64 apc_param_t;
|
typedef unsigned __int64 apc_param_t;
|
||||||
typedef unsigned __int64 mem_size_t;
|
typedef unsigned __int64 mem_size_t;
|
||||||
typedef unsigned __int64 file_pos_t;
|
typedef unsigned __int64 file_pos_t;
|
||||||
|
typedef void *client_ptr_t;
|
||||||
|
typedef client_ptr_t mod_handle_t;
|
||||||
|
|
||||||
struct request_header
|
struct request_header
|
||||||
{
|
{
|
||||||
|
@ -84,7 +86,7 @@ struct debug_event_create_process
|
||||||
obj_handle_t file; /* handle to the process exe file */
|
obj_handle_t file; /* handle to the process exe file */
|
||||||
obj_handle_t process; /* handle to the new process */
|
obj_handle_t process; /* handle to the new process */
|
||||||
obj_handle_t thread; /* handle to the new thread */
|
obj_handle_t thread; /* handle to the new thread */
|
||||||
void *base; /* base of executable image */
|
mod_handle_t base; /* base of executable image */
|
||||||
int dbg_offset; /* offset of debug info in file */
|
int dbg_offset; /* offset of debug info in file */
|
||||||
int dbg_size; /* size of debug info */
|
int dbg_size; /* size of debug info */
|
||||||
void *teb; /* thread teb (in debugged process address space) */
|
void *teb; /* thread teb (in debugged process address space) */
|
||||||
|
@ -99,7 +101,7 @@ struct debug_event_exit
|
||||||
struct debug_event_load_dll
|
struct debug_event_load_dll
|
||||||
{
|
{
|
||||||
obj_handle_t handle; /* file handle for the dll */
|
obj_handle_t handle; /* file handle for the dll */
|
||||||
void *base; /* base address of the dll */
|
mod_handle_t base; /* base address of the dll */
|
||||||
int dbg_offset; /* offset of debug info in file */
|
int dbg_offset; /* offset of debug info in file */
|
||||||
int dbg_size; /* size of debug info */
|
int dbg_size; /* size of debug info */
|
||||||
void *name; /* image name (optional) */
|
void *name; /* image name (optional) */
|
||||||
|
@ -107,7 +109,7 @@ struct debug_event_load_dll
|
||||||
};
|
};
|
||||||
struct debug_event_unload_dll
|
struct debug_event_unload_dll
|
||||||
{
|
{
|
||||||
void *base; /* base address of the dll */
|
mod_handle_t base; /* base address of the dll */
|
||||||
};
|
};
|
||||||
struct debug_event_output_string
|
struct debug_event_output_string
|
||||||
{
|
{
|
||||||
|
@ -524,7 +526,7 @@ typedef union
|
||||||
|
|
||||||
/* Signal the end of the process initialization */
|
/* Signal the end of the process initialization */
|
||||||
@REQ(init_process_done)
|
@REQ(init_process_done)
|
||||||
void* module; /* main module base address */
|
mod_handle_t module; /* main module base address */
|
||||||
void* entry; /* process entry point */
|
void* entry; /* process entry point */
|
||||||
int gui; /* is it a GUI process? */
|
int gui; /* is it a GUI process? */
|
||||||
@END
|
@END
|
||||||
|
@ -628,7 +630,7 @@ typedef union
|
||||||
/* Retrieve information about a module */
|
/* Retrieve information about a module */
|
||||||
@REQ(get_dll_info)
|
@REQ(get_dll_info)
|
||||||
obj_handle_t handle; /* process handle */
|
obj_handle_t handle; /* process handle */
|
||||||
void* base_address; /* base address of module */
|
mod_handle_t base_address; /* base address of module */
|
||||||
@REPLY
|
@REPLY
|
||||||
void* entry_point;
|
void* entry_point;
|
||||||
data_size_t size; /* module size */
|
data_size_t size; /* module size */
|
||||||
|
@ -656,7 +658,7 @@ typedef union
|
||||||
/* Notify the server that a dll has been loaded */
|
/* Notify the server that a dll has been loaded */
|
||||||
@REQ(load_dll)
|
@REQ(load_dll)
|
||||||
obj_handle_t handle; /* file handle */
|
obj_handle_t handle; /* file handle */
|
||||||
void* base; /* base address */
|
mod_handle_t base; /* base address */
|
||||||
void* name; /* ptr to ptr to name (in process addr space) */
|
void* name; /* ptr to ptr to name (in process addr space) */
|
||||||
data_size_t size; /* dll size */
|
data_size_t size; /* dll size */
|
||||||
int dbg_offset; /* debug info offset */
|
int dbg_offset; /* debug info offset */
|
||||||
|
@ -667,7 +669,7 @@ typedef union
|
||||||
|
|
||||||
/* Notify the server that a dll is being unloaded */
|
/* Notify the server that a dll is being unloaded */
|
||||||
@REQ(unload_dll)
|
@REQ(unload_dll)
|
||||||
void* base; /* base address */
|
mod_handle_t base; /* base address */
|
||||||
@END
|
@END
|
||||||
|
|
||||||
|
|
||||||
|
@ -2050,7 +2052,7 @@ enum message_type
|
||||||
user_handle_t parent; /* parent window */
|
user_handle_t parent; /* parent window */
|
||||||
user_handle_t owner; /* owner window */
|
user_handle_t owner; /* owner window */
|
||||||
atom_t atom; /* class atom */
|
atom_t atom; /* class atom */
|
||||||
void* instance; /* module instance */
|
mod_handle_t instance; /* module instance */
|
||||||
VARARG(class,unicode_str); /* class name */
|
VARARG(class,unicode_str); /* class name */
|
||||||
@REPLY
|
@REPLY
|
||||||
user_handle_t handle; /* created window */
|
user_handle_t handle; /* created window */
|
||||||
|
@ -2107,7 +2109,7 @@ enum message_type
|
||||||
unsigned int ex_style; /* window extended style */
|
unsigned int ex_style; /* window extended style */
|
||||||
unsigned int id; /* window id */
|
unsigned int id; /* window id */
|
||||||
int is_unicode; /* ANSI or unicode */
|
int is_unicode; /* ANSI or unicode */
|
||||||
void* instance; /* creator instance */
|
mod_handle_t instance; /* creator instance */
|
||||||
lparam_t user_data; /* user-specific data */
|
lparam_t user_data; /* user-specific data */
|
||||||
int extra_offset; /* offset to set in extra bytes */
|
int extra_offset; /* offset to set in extra bytes */
|
||||||
data_size_t extra_size; /* size to set in extra bytes */
|
data_size_t extra_size; /* size to set in extra bytes */
|
||||||
|
@ -2116,7 +2118,7 @@ enum message_type
|
||||||
unsigned int old_style; /* old window style */
|
unsigned int old_style; /* old window style */
|
||||||
unsigned int old_ex_style; /* old window extended style */
|
unsigned int old_ex_style; /* old window extended style */
|
||||||
unsigned int old_id; /* old window id */
|
unsigned int old_id; /* old window id */
|
||||||
void* old_instance; /* old creator instance */
|
mod_handle_t old_instance; /* old creator instance */
|
||||||
lparam_t old_user_data; /* old user-specific data */
|
lparam_t old_user_data; /* old user-specific data */
|
||||||
lparam_t old_extra_value; /* old value in extra bytes */
|
lparam_t old_extra_value; /* old value in extra bytes */
|
||||||
@END
|
@END
|
||||||
|
@ -2641,7 +2643,7 @@ enum message_type
|
||||||
int local; /* is it a local class? */
|
int local; /* is it a local class? */
|
||||||
atom_t atom; /* class atom */
|
atom_t atom; /* class atom */
|
||||||
unsigned int style; /* class style */
|
unsigned int style; /* class style */
|
||||||
void* instance; /* module instance */
|
mod_handle_t instance; /* module instance */
|
||||||
int extra; /* number of extra class bytes */
|
int extra; /* number of extra class bytes */
|
||||||
int win_extra; /* number of window extra bytes */
|
int win_extra; /* number of window extra bytes */
|
||||||
void* client_ptr; /* pointer to class in client address space */
|
void* client_ptr; /* pointer to class in client address space */
|
||||||
|
@ -2654,7 +2656,7 @@ enum message_type
|
||||||
/* Destroy a window class */
|
/* Destroy a window class */
|
||||||
@REQ(destroy_class)
|
@REQ(destroy_class)
|
||||||
atom_t atom; /* class atom */
|
atom_t atom; /* class atom */
|
||||||
void* instance; /* module instance */
|
mod_handle_t instance; /* module instance */
|
||||||
VARARG(name,unicode_str); /* class name */
|
VARARG(name,unicode_str); /* class name */
|
||||||
@REPLY
|
@REPLY
|
||||||
void* client_ptr; /* pointer to class in client address space */
|
void* client_ptr; /* pointer to class in client address space */
|
||||||
|
@ -2668,7 +2670,7 @@ enum message_type
|
||||||
atom_t atom; /* class atom */
|
atom_t atom; /* class atom */
|
||||||
unsigned int style; /* class style */
|
unsigned int style; /* class style */
|
||||||
int win_extra; /* number of window extra bytes */
|
int win_extra; /* number of window extra bytes */
|
||||||
void* instance; /* module instance */
|
mod_handle_t instance; /* module instance */
|
||||||
int extra_offset; /* offset to set in extra bytes */
|
int extra_offset; /* offset to set in extra bytes */
|
||||||
data_size_t extra_size; /* size to set in extra bytes */
|
data_size_t extra_size; /* size to set in extra bytes */
|
||||||
lparam_t extra_value; /* value to set in extra bytes */
|
lparam_t extra_value; /* value to set in extra bytes */
|
||||||
|
@ -2677,7 +2679,7 @@ enum message_type
|
||||||
unsigned int old_style; /* previous class style */
|
unsigned int old_style; /* previous class style */
|
||||||
int old_extra; /* previous number of class extra bytes */
|
int old_extra; /* previous number of class extra bytes */
|
||||||
int old_win_extra; /* previous number of window extra bytes */
|
int old_win_extra; /* previous number of window extra bytes */
|
||||||
void* old_instance; /* previous module instance */
|
mod_handle_t old_instance; /* previous module instance */
|
||||||
lparam_t old_extra_value; /* old value in extra bytes */
|
lparam_t old_extra_value; /* old value in extra bytes */
|
||||||
@END
|
@END
|
||||||
#define SET_CLASS_ATOM 0x0001
|
#define SET_CLASS_ATOM 0x0001
|
||||||
|
|
|
@ -143,7 +143,7 @@ extern struct window_class *get_window_class( user_handle_t window );
|
||||||
|
|
||||||
extern void destroy_process_classes( struct process *process );
|
extern void destroy_process_classes( struct process *process );
|
||||||
extern struct window_class *grab_class( struct process *process, atom_t atom,
|
extern struct window_class *grab_class( struct process *process, atom_t atom,
|
||||||
void *instance, int *extra_bytes );
|
mod_handle_t instance, int *extra_bytes );
|
||||||
extern void release_class( struct window_class *class );
|
extern void release_class( struct window_class *class );
|
||||||
extern int is_desktop_class( struct window_class *class );
|
extern int is_desktop_class( struct window_class *class );
|
||||||
extern int is_hwnd_message_class( struct window_class *class );
|
extern int is_hwnd_message_class( struct window_class *class );
|
||||||
|
|
|
@ -76,7 +76,7 @@ struct window
|
||||||
unsigned int style; /* window style */
|
unsigned int style; /* window style */
|
||||||
unsigned int ex_style; /* window extended style */
|
unsigned int ex_style; /* window extended style */
|
||||||
unsigned int id; /* window id */
|
unsigned int id; /* window id */
|
||||||
void* instance; /* creator instance */
|
mod_handle_t instance; /* creator instance */
|
||||||
unsigned int is_unicode : 1; /* ANSI or unicode */
|
unsigned int is_unicode : 1; /* ANSI or unicode */
|
||||||
unsigned int is_linked : 1; /* is it linked into the parent z-order list? */
|
unsigned int is_linked : 1; /* is it linked into the parent z-order list? */
|
||||||
unsigned int is_layered : 1; /* has layered info been set? */
|
unsigned int is_layered : 1; /* has layered info been set? */
|
||||||
|
@ -428,7 +428,7 @@ void close_desktop_window( struct desktop *desktop )
|
||||||
|
|
||||||
/* create a new window structure (note: the window is not linked in the window tree) */
|
/* create a new window structure (note: the window is not linked in the window tree) */
|
||||||
static struct window *create_window( struct window *parent, struct window *owner,
|
static struct window *create_window( struct window *parent, struct window *owner,
|
||||||
atom_t atom, void *instance )
|
atom_t atom, mod_handle_t instance )
|
||||||
{
|
{
|
||||||
static const rectangle_t empty_rect;
|
static const rectangle_t empty_rect;
|
||||||
int extra_bytes;
|
int extra_bytes;
|
||||||
|
|
|
@ -36,6 +36,7 @@ my %formats =
|
||||||
"user_handle_t" => [ 4, 4, "%08x" ],
|
"user_handle_t" => [ 4, 4, "%08x" ],
|
||||||
"process_id_t" => [ 4, 4, "%04x" ],
|
"process_id_t" => [ 4, 4, "%04x" ],
|
||||||
"thread_id_t" => [ 4, 4, "%04x" ],
|
"thread_id_t" => [ 4, 4, "%04x" ],
|
||||||
|
"mod_handle_t" => [ 4, 4, "%p" ],
|
||||||
"lparam_t" => [ 8, 8, "&dump_uint64" ],
|
"lparam_t" => [ 8, 8, "&dump_uint64" ],
|
||||||
"apc_param_t" => [ 8, 8, "&dump_uint64" ],
|
"apc_param_t" => [ 8, 8, "&dump_uint64" ],
|
||||||
"file_pos_t" => [ 8, 8, "&dump_uint64" ],
|
"file_pos_t" => [ 8, 8, "&dump_uint64" ],
|
||||||
|
|
Loading…
Reference in New Issue