diff options
Diffstat (limited to 'src/internal')
-rw-r--r-- | src/internal/pe_os.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/internal/pe_os.h b/src/internal/pe_os.h index 54275e3..f8a787a 100644 --- a/src/internal/pe_os.h +++ b/src/internal/pe_os.h @@ -59,6 +59,54 @@ struct os_iosb { }; +struct os_proc_params { + uint32_t alloc_size; + uint32_t used_size; + uint32_t flags; + uint32_t reserved; + void * hconsole; + uintptr_t console_flags; + void * hstdin; + void * hstdout; + void * hstderr; + struct pe_unicode_str cwd_name; + void * cwd_handle; + struct pe_unicode_str __attr_ptr_size_aligned__ dll_path; + struct pe_unicode_str __attr_ptr_size_aligned__ image_file_name; + struct pe_unicode_str __attr_ptr_size_aligned__ command_line; + wchar16_t * environment; + uint32_t dwx; + uint32_t dwy; + uint32_t dwx_size; + uint32_t dwy_size; + uint32_t dwx_count_chars; + uint32_t dwy_count_chars; + uint32_t dw_fill_attribute; + uint32_t dw_flags; + uint32_t wnd_show; + struct pe_unicode_str wnd_title; + struct pe_unicode_str __attr_ptr_size_aligned__ desktop; + struct pe_unicode_str __attr_ptr_size_aligned__ shell_info; + struct pe_unicode_str __attr_ptr_size_aligned__ runtime_data; +}; + + +struct os_peb { + unsigned char reserved_1st[2]; + unsigned char debugged; + unsigned char reserved_2nd[1]; + void * reserved_3rd[2]; + struct pe_peb_ldr_data* peb_ldr_data; + struct os_proc_params * process_params; + unsigned char reserved_4th[104]; + void * reserved_5th[52]; + void * post_process_init_routine; + unsigned char reserved_6th[128]; + void * reserved_7th[1]; + uint32_t session_id; +}; + + typedef int32_t __stdcall os_zw_query_object( __in void * handle, __in int obj_info_class, |