[PATCH 2/2] kernel32: Implement a few more classes in GetFileInformationByHandleEx
Martin Storsjo
martin at martin.st
Thu May 7 15:02:35 CDT 2015
---
dlls/kernel32/file.c | 22 +++++++++++++++++++---
1 file changed, 19 insertions(+), 3 deletions(-)
diff --git a/dlls/kernel32/file.c b/dlls/kernel32/file.c
index 006db1c..9bf318e 100644
--- a/dlls/kernel32/file.c
+++ b/dlls/kernel32/file.c
@@ -23,6 +23,7 @@
#include "config.h"
#include "wine/port.h"
+#include <assert.h>
#include <stdarg.h>
#include <stdio.h>
#include <errno.h>
@@ -894,11 +895,10 @@ BOOL WINAPI GetFileInformationByHandleEx( HANDLE handle, FILE_INFO_BY_HANDLE_CLA
{
NTSTATUS status;
IO_STATUS_BLOCK io;
+ FILE_INFORMATION_CLASS nt_class;
switch (class)
{
- case FileBasicInfo:
- case FileStandardInfo:
case FileRenameInfo:
case FileDispositionInfo:
case FileAllocationInfo:
@@ -919,8 +919,24 @@ BOOL WINAPI GetFileInformationByHandleEx( HANDLE handle, FILE_INFO_BY_HANDLE_CLA
SetLastError( ERROR_CALL_NOT_IMPLEMENTED );
return FALSE;
+ case FileBasicInfo:
+ case FileStandardInfo:
case FileNameInfo:
- status = NtQueryInformationFile( handle, &io, info, size, FileNameInformation );
+ switch (class) {
+ case FileBasicInfo:
+ nt_class = FileBasicInformation;
+ break;
+ case FileStandardInfo:
+ nt_class = FileStandardInformation;
+ break;
+ case FileNameInfo:
+ nt_class = FileNameInformation;
+ break;
+ default:
+ assert(0);
+ break;
+ }
+ status = NtQueryInformationFile( handle, &io, info, size, nt_class );
if (status != STATUS_SUCCESS)
{
SetLastError( RtlNtStatusToDosError( status ) );
--
1.8.1.2
More information about the wine-patches
mailing list