server: Remove no longer needed fields in the init_process_done request.
This commit is contained in:
parent
6976e2016d
commit
e27358ea5c
|
@ -2066,16 +2066,14 @@ void WINAPI LdrInitializeThunk( ULONG unknown1, ULONG unknown2, ULONG unknown3,
|
||||||
SERVER_START_REQ( init_process_done )
|
SERVER_START_REQ( init_process_done )
|
||||||
{
|
{
|
||||||
req->module = peb->ImageBaseAddress;
|
req->module = peb->ImageBaseAddress;
|
||||||
req->module_size = wm->ldr.SizeOfImage;
|
|
||||||
req->entry = (char *)peb->ImageBaseAddress + nt->OptionalHeader.AddressOfEntryPoint;
|
req->entry = (char *)peb->ImageBaseAddress + nt->OptionalHeader.AddressOfEntryPoint;
|
||||||
/* API requires a double indirection */
|
|
||||||
req->name = &wm->ldr.FullDllName.Buffer;
|
|
||||||
req->gui = (nt->OptionalHeader.Subsystem != IMAGE_SUBSYSTEM_WINDOWS_CUI);
|
req->gui = (nt->OptionalHeader.Subsystem != IMAGE_SUBSYSTEM_WINDOWS_CUI);
|
||||||
wine_server_add_data( req, wm->ldr.FullDllName.Buffer, wm->ldr.FullDllName.Length );
|
status = wine_server_call( req );
|
||||||
wine_server_call( req );
|
|
||||||
}
|
}
|
||||||
SERVER_END_REQ;
|
SERVER_END_REQ;
|
||||||
|
|
||||||
|
if (status != STATUS_SUCCESS) goto error;
|
||||||
|
|
||||||
RtlEnterCriticalSection( &loader_section );
|
RtlEnterCriticalSection( &loader_section );
|
||||||
|
|
||||||
load_path = NtCurrentTeb()->Peb->ProcessParameters->DllPath.Buffer;
|
load_path = NtCurrentTeb()->Peb->ProcessParameters->DllPath.Buffer;
|
||||||
|
|
|
@ -261,11 +261,8 @@ struct init_process_done_request
|
||||||
{
|
{
|
||||||
struct request_header __header;
|
struct request_header __header;
|
||||||
void* module;
|
void* module;
|
||||||
size_t module_size;
|
|
||||||
void* entry;
|
void* entry;
|
||||||
void* name;
|
|
||||||
int gui;
|
int gui;
|
||||||
/* VARARG(filename,unicode_str); */
|
|
||||||
};
|
};
|
||||||
struct init_process_done_reply
|
struct init_process_done_reply
|
||||||
{
|
{
|
||||||
|
@ -4364,6 +4361,6 @@ union generic_reply
|
||||||
struct query_symlink_reply query_symlink_reply;
|
struct query_symlink_reply query_symlink_reply;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define SERVER_PROTOCOL_VERSION 227
|
#define SERVER_PROTOCOL_VERSION 228
|
||||||
|
|
||||||
#endif /* __WINE_WINE_SERVER_PROTOCOL_H */
|
#endif /* __WINE_WINE_SERVER_PROTOCOL_H */
|
||||||
|
|
|
@ -968,21 +968,10 @@ DECL_HANDLER(init_process_done)
|
||||||
fatal_protocol_error( current, "init_process_done: called twice\n" );
|
fatal_protocol_error( current, "init_process_done: called twice\n" );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!req->module)
|
|
||||||
{
|
|
||||||
fatal_protocol_error( current, "init_process_done: module base address cannot be 0\n" );
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* check if main exe has been registered as a dll already */
|
|
||||||
if (!(dll = find_process_dll( process, req->module )))
|
if (!(dll = find_process_dll( process, req->module )))
|
||||||
{
|
{
|
||||||
if (!(dll = process_load_dll( process, NULL, req->module,
|
set_error( STATUS_DLL_NOT_FOUND );
|
||||||
get_req_data(), get_req_data_size() ))) return;
|
return;
|
||||||
dll->size = req->module_size;
|
|
||||||
dll->dbg_offset = 0;
|
|
||||||
dll->dbg_size = 0;
|
|
||||||
dll->name = req->name;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* main exe is the first in the dll list */
|
/* main exe is the first in the dll list */
|
||||||
|
|
|
@ -255,11 +255,8 @@ struct security_descriptor
|
||||||
/* 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 */
|
void* module; /* main module base address */
|
||||||
size_t module_size; /* main module size */
|
|
||||||
void* entry; /* process entry point */
|
void* entry; /* process entry point */
|
||||||
void* name; /* ptr to ptr to name (in process addr space) */
|
|
||||||
int gui; /* is it a GUI process? */
|
int gui; /* is it a GUI process? */
|
||||||
VARARG(filename,unicode_str); /* file name of main exe */
|
|
||||||
@END
|
@END
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -638,12 +638,8 @@ static void dump_get_startup_info_reply( const struct get_startup_info_reply *re
|
||||||
static void dump_init_process_done_request( const struct init_process_done_request *req )
|
static void dump_init_process_done_request( const struct init_process_done_request *req )
|
||||||
{
|
{
|
||||||
fprintf( stderr, " module=%p,", req->module );
|
fprintf( stderr, " module=%p,", req->module );
|
||||||
fprintf( stderr, " module_size=%lu,", (unsigned long)req->module_size );
|
|
||||||
fprintf( stderr, " entry=%p,", req->entry );
|
fprintf( stderr, " entry=%p,", req->entry );
|
||||||
fprintf( stderr, " name=%p,", req->name );
|
fprintf( stderr, " gui=%d", req->gui );
|
||||||
fprintf( stderr, " gui=%d,", req->gui );
|
|
||||||
fprintf( stderr, " filename=" );
|
|
||||||
dump_varargs_unicode_str( cur_size );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dump_init_thread_request( const struct init_thread_request *req )
|
static void dump_init_thread_request( const struct init_thread_request *req )
|
||||||
|
|
Loading…
Reference in New Issue