From c164ff0bd59286abcbbf82a617667ca39a5feb06 Mon Sep 17 00:00:00 2001 From: midipix Date: Sat, 23 Jul 2016 15:33:41 -0400 Subject: process creation: added __ntapi_tt_spawn_native_process(). --- include/ntapi/nt_process.h | 26 ++++++++++++++++++++++++++ include/ntapi/ntapi.h | 1 + 2 files changed, 27 insertions(+) (limited to 'include/ntapi') diff --git a/include/ntapi/nt_process.h b/include/ntapi/nt_process.h index 092a95e..0443b3f 100644 --- a/include/ntapi/nt_process.h +++ b/include/ntapi/nt_process.h @@ -6,6 +6,7 @@ #include "nt_object.h" #include "nt_memory.h" #include "nt_section.h" +#include "nt_sync.h" typedef enum _nt_process_info_class { NT_PROCESS_BASIC_INFORMATION, @@ -533,6 +534,29 @@ typedef struct _nt_create_process_params { } nt_create_process_params; +typedef struct _nt_spawn_process_params { + __out void * hprocess; + __out void * hthread; + __out void * rdata; + __out nt_client_id cid; + __out nt_process_basic_information pbi; + __out nt_event_basic_information eready; + __in nt_runtime_data * rtctx; + __in void * hsession; + __in void * htoken; + __in void * himage; + __in char * patharg; + __in const char * image; + __in const char * interpreter; + __in const char * optarg; + __in char ** argv; + __in char ** envp; + __in void * hready; + __in nt_timeout * timeout; + __in int fsuspended; +} nt_spawn_process_params; + + typedef int32_t __stdcall ntapi_zw_create_process( __out void ** hprocess, __in uint32_t desired_access, @@ -659,6 +683,8 @@ typedef int32_t __stdcall ntapi_tt_create_remote_process_params( typedef int32_t __stdcall ntapi_tt_create_native_process( __out nt_create_process_params * params); +typedef int32_t __stdcall ntapi_tt_spawn_native_process( + __in_out nt_spawn_process_params * sparams); typedef int32_t __stdcall ntapi_tt_get_runtime_data( __out nt_runtime_data ** pdata, diff --git a/include/ntapi/ntapi.h b/include/ntapi/ntapi.h index b596f32..21af579 100644 --- a/include/ntapi/ntapi.h +++ b/include/ntapi/ntapi.h @@ -448,6 +448,7 @@ typedef struct _ntapi_vtbl { ntapi_tt_fork * tt_fork; ntapi_tt_create_remote_process_params * tt_create_remote_process_params; ntapi_tt_create_native_process * tt_create_native_process; + ntapi_tt_spawn_native_process * tt_spawn_native_process; ntapi_tt_get_runtime_data * tt_get_runtime_data; ntapi_tt_init_runtime_data * tt_init_runtime_data; ntapi_tt_update_runtime_data * tt_update_runtime_data; -- cgit v1.2.3