@@ -133,7 +133,11 @@ windows_targets::link!("kernel32.dll" "system" fn WriteFile(hfile : HANDLE, lpbu
133133windows_targets:: link!( "kernel32.dll" "system" fn WriteFileEx ( hfile : HANDLE , lpbuffer : * const u8 , nnumberofbytestowrite : u32 , lpoverlapped : * mut OVERLAPPED , lpcompletionroutine : LPOVERLAPPED_COMPLETION_ROUTINE ) -> BOOL ) ;
134134windows_targets:: link!( "ntdll.dll" "system" fn NtCreateFile ( filehandle : * mut HANDLE , desiredaccess : FILE_ACCESS_RIGHTS , objectattributes : * const OBJECT_ATTRIBUTES , iostatusblock : * mut IO_STATUS_BLOCK , allocationsize : * const i64 , fileattributes : FILE_FLAGS_AND_ATTRIBUTES , shareaccess : FILE_SHARE_MODE , createdisposition : NTCREATEFILE_CREATE_DISPOSITION , createoptions : NTCREATEFILE_CREATE_OPTIONS , eabuffer : * const core:: ffi:: c_void, ealength : u32 ) -> NTSTATUS ) ;
135135windows_targets:: link!( "ntdll.dll" "system" fn NtOpenFile ( filehandle : * mut HANDLE , desiredaccess : u32 , objectattributes : * const OBJECT_ATTRIBUTES , iostatusblock : * mut IO_STATUS_BLOCK , shareaccess : u32 , openoptions : u32 ) -> NTSTATUS ) ;
136+ windows_targets:: link!( "ntdll.dll" "system" fn NtQueryDirectoryFile ( filehandle : HANDLE , event : HANDLE , apcroutine : PIO_APC_ROUTINE , apccontext : * const core:: ffi:: c_void, iostatusblock : * mut IO_STATUS_BLOCK , fileinformation : * mut core:: ffi:: c_void, length : u32 , fileinformationclass : FILE_INFORMATION_CLASS , returnsingleentry : BOOLEAN , filename : * const UNICODE_STRING , restartscan : BOOLEAN ) -> NTSTATUS ) ;
137+ windows_targets:: link!( "ntdll.dll" "system" fn NtQueryInformationFile ( filehandle : HANDLE , iostatusblock : * mut IO_STATUS_BLOCK , fileinformation : * mut core:: ffi:: c_void, length : u32 , fileinformationclass : FILE_INFORMATION_CLASS ) -> NTSTATUS ) ;
136138windows_targets:: link!( "ntdll.dll" "system" fn NtReadFile ( filehandle : HANDLE , event : HANDLE , apcroutine : PIO_APC_ROUTINE , apccontext : * const core:: ffi:: c_void, iostatusblock : * mut IO_STATUS_BLOCK , buffer : * mut core:: ffi:: c_void, length : u32 , byteoffset : * const i64 , key : * const u32 ) -> NTSTATUS ) ;
139+ windows_targets:: link!( "ntdll.dll" "system" fn NtSetInformationFile ( filehandle : HANDLE , iostatusblock : * mut IO_STATUS_BLOCK , fileinformation : * const core:: ffi:: c_void, length : u32 , fileinformationclass : FILE_INFORMATION_CLASS ) -> NTSTATUS ) ;
140+ windows_targets:: link!( "ntdll.dll" "system" fn NtWaitForSingleObject ( handle : HANDLE , alertable : BOOLEAN , timeout : * mut i64 ) -> NTSTATUS ) ;
137141windows_targets:: link!( "ntdll.dll" "system" fn NtWriteFile ( filehandle : HANDLE , event : HANDLE , apcroutine : PIO_APC_ROUTINE , apccontext : * const core:: ffi:: c_void, iostatusblock : * mut IO_STATUS_BLOCK , buffer : * const core:: ffi:: c_void, length : u32 , byteoffset : * const i64 , key : * const u32 ) -> NTSTATUS ) ;
138142windows_targets:: link!( "ntdll.dll" "system" fn RtlNtStatusToDosError ( status : NTSTATUS ) -> u32 ) ;
139143windows_targets:: link!( "userenv.dll" "system" fn GetUserProfileDirectoryW ( htoken : HANDLE , lpprofiledir : PWSTR , lpcchsize : * mut u32 ) -> BOOL ) ;
@@ -2478,6 +2482,22 @@ pub const FILE_FLAG_RANDOM_ACCESS: FILE_FLAGS_AND_ATTRIBUTES = 268435456u32;
24782482pub const FILE_FLAG_SEQUENTIAL_SCAN : FILE_FLAGS_AND_ATTRIBUTES = 134217728u32 ;
24792483pub const FILE_FLAG_SESSION_AWARE : FILE_FLAGS_AND_ATTRIBUTES = 8388608u32 ;
24802484pub const FILE_FLAG_WRITE_THROUGH : FILE_FLAGS_AND_ATTRIBUTES = 2147483648u32 ;
2485+ #[ repr( C ) ]
2486+ #[ derive( Clone , Copy ) ]
2487+ pub struct FILE_FULL_DIR_INFO {
2488+ pub NextEntryOffset : u32 ,
2489+ pub FileIndex : u32 ,
2490+ pub CreationTime : i64 ,
2491+ pub LastAccessTime : i64 ,
2492+ pub LastWriteTime : i64 ,
2493+ pub ChangeTime : i64 ,
2494+ pub EndOfFile : i64 ,
2495+ pub AllocationSize : i64 ,
2496+ pub FileAttributes : u32 ,
2497+ pub FileNameLength : u32 ,
2498+ pub EaSize : u32 ,
2499+ pub FileName : [ u16 ; 1 ] ,
2500+ }
24812501pub const FILE_GENERIC_EXECUTE : FILE_ACCESS_RIGHTS = 1179808u32 ;
24822502pub const FILE_GENERIC_READ : FILE_ACCESS_RIGHTS = 1179785u32 ;
24832503pub const FILE_GENERIC_WRITE : FILE_ACCESS_RIGHTS = 1179926u32 ;
@@ -2500,13 +2520,20 @@ pub struct FILE_ID_BOTH_DIR_INFO {
25002520 pub FileId : i64 ,
25012521 pub FileName : [ u16 ; 1 ] ,
25022522}
2523+ pub type FILE_INFORMATION_CLASS = i32 ;
25032524pub type FILE_INFO_BY_HANDLE_CLASS = i32 ;
25042525#[ repr( C ) ]
25052526#[ derive( Clone , Copy ) ]
25062527pub struct FILE_IO_PRIORITY_HINT_INFO {
25072528 pub PriorityHint : PRIORITY_HINT ,
25082529}
25092530pub const FILE_LIST_DIRECTORY : FILE_ACCESS_RIGHTS = 1u32 ;
2531+ #[ repr( C ) ]
2532+ #[ derive( Clone , Copy ) ]
2533+ pub struct FILE_NAME_INFO {
2534+ pub FileNameLength : u32 ,
2535+ pub FileName : [ u16 ; 1 ] ,
2536+ }
25102537pub const FILE_NAME_NORMALIZED : GETFINALPATHNAMEBYHANDLE_FLAGS = 0u32 ;
25112538pub const FILE_NAME_OPENED : GETFINALPATHNAMEBYHANDLE_FLAGS = 8u32 ;
25122539pub const FILE_NON_DIRECTORY_FILE : NTCREATEFILE_CREATE_OPTIONS = 64u32 ;
@@ -2619,13 +2646,19 @@ pub const FSCTL_SET_REPARSE_POINT: u32 = 589988u32;
26192646pub const FileAlignmentInfo : FILE_INFO_BY_HANDLE_CLASS = 17i32 ;
26202647pub const FileAllocationInfo : FILE_INFO_BY_HANDLE_CLASS = 5i32 ;
26212648pub const FileAttributeTagInfo : FILE_INFO_BY_HANDLE_CLASS = 9i32 ;
2649+ pub const FileAttributeTagInformation : FILE_INFORMATION_CLASS = 35i32 ;
26222650pub const FileBasicInfo : FILE_INFO_BY_HANDLE_CLASS = 0i32 ;
2651+ pub const FileBasicInformation : FILE_INFORMATION_CLASS = 4i32 ;
26232652pub const FileCaseSensitiveInfo : FILE_INFO_BY_HANDLE_CLASS = 23i32 ;
26242653pub const FileCompressionInfo : FILE_INFO_BY_HANDLE_CLASS = 8i32 ;
26252654pub const FileDispositionInfo : FILE_INFO_BY_HANDLE_CLASS = 4i32 ;
26262655pub const FileDispositionInfoEx : FILE_INFO_BY_HANDLE_CLASS = 21i32 ;
2656+ pub const FileDispositionInformation : FILE_INFORMATION_CLASS = 13i32 ;
2657+ pub const FileDispositionInformationEx : FILE_INFORMATION_CLASS = 64i32 ;
26272658pub const FileEndOfFileInfo : FILE_INFO_BY_HANDLE_CLASS = 6i32 ;
2659+ pub const FileEndOfFileInformation : FILE_INFORMATION_CLASS = 20i32 ;
26282660pub const FileFullDirectoryInfo : FILE_INFO_BY_HANDLE_CLASS = 14i32 ;
2661+ pub const FileFullDirectoryInformation : FILE_INFORMATION_CLASS = 2i32 ;
26292662pub const FileFullDirectoryRestartInfo : FILE_INFO_BY_HANDLE_CLASS = 15i32 ;
26302663pub const FileIdBothDirectoryInfo : FILE_INFO_BY_HANDLE_CLASS = 10i32 ;
26312664pub const FileIdBothDirectoryRestartInfo : FILE_INFO_BY_HANDLE_CLASS = 11i32 ;
@@ -2634,6 +2667,7 @@ pub const FileIdExtdDirectoryRestartInfo: FILE_INFO_BY_HANDLE_CLASS = 20i32;
26342667pub const FileIdInfo : FILE_INFO_BY_HANDLE_CLASS = 18i32 ;
26352668pub const FileIoPriorityHintInfo : FILE_INFO_BY_HANDLE_CLASS = 12i32 ;
26362669pub const FileNameInfo : FILE_INFO_BY_HANDLE_CLASS = 2i32 ;
2670+ pub const FileNameInformation : FILE_INFORMATION_CLASS = 9i32 ;
26372671pub const FileNormalizedNameInfo : FILE_INFO_BY_HANDLE_CLASS = 24i32 ;
26382672pub const FileRemoteProtocolInfo : FILE_INFO_BY_HANDLE_CLASS = 13i32 ;
26392673pub const FileRenameInfo : FILE_INFO_BY_HANDLE_CLASS = 3i32 ;
0 commit comments