summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--include/ntapi/nt_file.h2
-rw-r--r--src/fs/ntapi_tt_open_physical_parent_directory.c9
2 files changed, 7 insertions, 4 deletions
diff --git a/include/ntapi/nt_file.h b/include/ntapi/nt_file.h
index c15772e..3de780e 100644
--- a/include/ntapi/nt_file.h
+++ b/include/ntapi/nt_file.h
@@ -1206,7 +1206,9 @@ typedef int32_t __stdcall ntapi_tt_open_physical_parent_directory(
__in void * hdir,
__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);
#endif
diff --git a/src/fs/ntapi_tt_open_physical_parent_directory.c b/src/fs/ntapi_tt_open_physical_parent_directory.c
index 2822b47..120896b 100644
--- a/src/fs/ntapi_tt_open_physical_parent_directory.c
+++ b/src/fs/ntapi_tt_open_physical_parent_directory.c
@@ -13,7 +13,9 @@ int32_t __stdcall __ntapi_tt_open_physical_parent_directory(
__in void * hdir,
__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;
@@ -67,7 +69,7 @@ int32_t __stdcall __ntapi_tt_open_physical_parent_directory(
oa.len = sizeof(nt_oa);
oa.root_dir = 0;
oa.obj_name = path;
- oa.obj_attr = 0;
+ oa.obj_attr = oattr,
oa.sec_desc = 0;
oa.sec_qos = 0;
@@ -80,8 +82,7 @@ int32_t __stdcall __ntapi_tt_open_physical_parent_directory(
return __ntapi->zw_open_file(
hparent,
desired_access,
- &oa,
- &iosb,
- NT_FILE_SHARE_READ | NT_FILE_SHARE_WRITE,
+ &oa,&iosb,
+ share_access,
open_options | NT_FILE_DIRECTORY_FILE);
}