diff options
Diffstat (limited to 'src/ldso/pe_open_image_from_addr.c')
-rw-r--r-- | src/ldso/pe_open_image_from_addr.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/ldso/pe_open_image_from_addr.c b/src/ldso/pe_open_image_from_addr.c index 2729a18..810503c 100644 --- a/src/ldso/pe_open_image_from_addr.c +++ b/src/ldso/pe_open_image_from_addr.c @@ -19,7 +19,9 @@ pe_api int32_t pe_open_image_from_addr( __in void * addr, __out uintptr_t * buffer, __in uint32_t buffer_size, + __in uint32_t oattr, __in uint32_t desired_access, + __in uint32_t share_access, __in uint32_t open_options) { int32_t status; @@ -63,7 +65,7 @@ pe_api int32_t pe_open_image_from_addr( oa.len = sizeof(struct os_oa); oa.root_dir = 0; oa.obj_name = &path->section_name; - oa.obj_attr = 0; + oa.obj_attr = oattr; oa.sec_desc = 0; oa.sec_qos = 0; @@ -76,8 +78,7 @@ pe_api int32_t pe_open_image_from_addr( return zw_open_file( himage, desired_access, - &oa, - &iosb, - OS_FILE_SHARE_READ | OS_FILE_SHARE_WRITE, + &oa,&iosb, + share_access, open_options | OS_FILE_NON_DIRECTORY_FILE); } |