Module: wine Branch: master Commit: 44f520a5b6f2bd6ec6da8793177711e57bda9c72 URL: http://source.winehq.org/git/wine.git/?a=commit;h=44f520a5b6f2bd6ec6da879317...
Author: Alexandre Julliard julliard@winehq.org Date: Wed Nov 18 15:15:32 2009 +0100
include: Add some more definitions for FILE_INFORMATION_CLASS.
---
dlls/ntdll/file.c | 20 +++++++++++++++++++- include/winternl.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 1 deletions(-)
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c index b62c7c2..984f466 100644 --- a/dlls/ntdll/file.c +++ b/dlls/ntdll/file.c @@ -1578,7 +1578,25 @@ NTSTATUS WINAPI NtQueryInformationFile( HANDLE hFile, PIO_STATUS_BLOCK io, 0, /* FileReparsePointInformation */ 0, /* FileNetworkOpenInformation */ 0, /* FileAttributeTagInformation */ - 0 /* FileTrackingInformation */ + 0, /* FileTrackingInformation */ + 0, /* FileIdBothDirectoryInformation */ + 0, /* FileIdFullDirectoryInformation */ + 0, /* FileValidDataLengthInformation */ + 0, /* FileShortNameInformation */ + 0, + 0, + 0, + 0, /* FileSfioReserveInformation */ + 0, /* FileSfioVolumeInformation */ + 0, /* FileHardLinkInformation */ + 0, + 0, /* FileNormalizedNameInformation */ + 0, + 0, /* FileIdGlobalTxDirectoryInformation */ + 0, + 0, + 0, + 0 /* FileStandardLinkInformation */ };
struct stat st; diff --git a/include/winternl.h b/include/winternl.h index 633239f..fe77359 100644 --- a/include/winternl.h +++ b/include/winternl.h @@ -407,6 +407,20 @@ typedef enum _FILE_INFORMATION_CLASS { FileNetworkOpenInformation, FileAttributeTagInformation, FileTrackingInformation, + FileIdBothDirectoryInformation, + FileIdFullDirectoryInformation, + FileValidDataLengthInformation, + FileShortNameInformation = 40, + /* 41, 42, 43 undocumented */ + FileSfioReserveInformation = 44, + FileSfioVolumeInformation = 45, + FileHardLinkInformation = 46, + /* 47 undocumented */ + FileNormalizedNameInformation = 48, + /* 49 undocumented */ + FileIdGlobalTxDirectoryInformation = 50, + /* 51, 52, 53 undocumented */ + FileStandardLinkInformation = 54, FileMaximumInformation } FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS;
@@ -440,6 +454,22 @@ typedef struct _FILE_FULL_DIRECTORY_INFORMATION { } FILE_FULL_DIRECTORY_INFORMATION, *PFILE_FULL_DIRECTORY_INFORMATION, FILE_FULL_DIR_INFORMATION, *PFILE_FULL_DIR_INFORMATION;
+typedef struct _FILE_ID_FULL_DIRECTORY_INFORMATION { + ULONG NextEntryOffset; + ULONG FileIndex; + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER EndOfFile; + LARGE_INTEGER AllocationSize; + ULONG FileAttributes; + ULONG FileNameLength; + ULONG EaSize; + LARGE_INTEGER FileId; + WCHAR FileName[ANYSIZE_ARRAY]; +} FILE_ID_FULL_DIRECTORY_INFORMATION, *PFILE_ID_FULL_DIRECTORY_INFORMATION; + typedef struct _FILE_BOTH_DIRECTORY_INFORMATION { ULONG NextEntryOffset; ULONG FileIndex; @@ -458,6 +488,24 @@ typedef struct _FILE_BOTH_DIRECTORY_INFORMATION { } FILE_BOTH_DIRECTORY_INFORMATION, *PFILE_BOTH_DIRECTORY_INFORMATION, FILE_BOTH_DIR_INFORMATION, *PFILE_BOTH_DIR_INFORMATION;
+typedef struct _FILE_ID_BOTH_DIRECTORY_INFORMATION { + ULONG NextEntryOffset; + ULONG FileIndex; + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER EndOfFile; + LARGE_INTEGER AllocationSize; + ULONG FileAttributes; + ULONG FileNameLength; + ULONG EaSize; + CHAR ShortNameLength; + WCHAR ShortName[12]; + LARGE_INTEGER FileId; + WCHAR FileName[ANYSIZE_ARRAY]; +} FILE_ID_BOTH_DIRECTORY_INFORMATION, *PFILE_ID_BOTH_DIRECTORY_INFORMATION; + typedef struct _FILE_BASIC_INFORMATION { LARGE_INTEGER CreationTime; LARGE_INTEGER LastAccessTime;