diff --git a/include/ntapi/nt_istat.h b/include/ntapi/nt_istat.h index 497dc72..df87838 100644 --- a/include/ntapi/nt_istat.h +++ b/include/ntapi/nt_istat.h @@ -16,8 +16,7 @@ typedef struct _nt_istat { void * hfile; nt_fii fii; nt_ftagi ftagi; - uint32_t flags_in; - uint32_t flags_out; + uint32_t flags; uint32_t dev_name_hash; uint16_t dev_name_strlen; uint16_t dev_name_maxlen; diff --git a/src/fs/ntapi_tt_istat.c b/src/fs/ntapi_tt_istat.c index a42c8dd..00766ed 100644 --- a/src/fs/ntapi_tt_istat.c +++ b/src/fs/ntapi_tt_istat.c @@ -30,13 +30,15 @@ int32_t __stdcall __ntapi_tt_istat( wchar16_t * wch_mark; uint32_t hash; + (void)flags; + /* validaton */ if (!hfile && !path) - return NT_STATUS_INVALID_HANDLE; + return NT_STATUS_INVALID_PARAMETER; /* hfile */ if (hfile) { - istat->flags_out = 0; + istat->flags = 0; } else { /* oa */ oa.len = sizeof(nt_oa); @@ -58,11 +60,10 @@ int32_t __stdcall __ntapi_tt_istat( open_options | NT_FILE_SYNCHRONOUS_IO_ALERT))) return status; - istat->flags_out = NT_STAT_NEW_HANDLE; + istat->flags = NT_STAT_NEW_HANDLE; } - istat->hfile = hfile; - istat->flags_in = flags; + istat->hfile = hfile; /* file index number */ if ((status = __ntapi->zw_query_information_file( @@ -112,9 +113,9 @@ int32_t __stdcall __ntapi_tt_istat( && (wch[9]=='u') && (wch[10]=='p') && (wch[11]=='\\')) { - istat->flags_out |= NT_STATFS_MUP_DEVICE; wch_mark = &wch[12]; hash = __DEVICE_MUP_PREFIX_HASH; + istat->flags |= NT_STATFS_MUP_DEVICE; } else { wch_mark = &wch[8]; hash = __DEVICE_PATH_PREFIX_HASH;