Module: wine Branch: master Commit: e934e746bee9c16ec484abef300ebc073828e494 URL: https://gitlab.winehq.org/wine/wine/-/commit/e934e746bee9c16ec484abef300ebc0...
Author: Etaash Mathamsetty etaash.mathamsetty@gmail.com Date: Sun Aug 21 14:59:35 2022 -0400
ntoskrnl: Implement IoCreateFileEx.
---
dlls/ntoskrnl.exe/ntoskrnl.c | 18 ++++++++++++++++-- dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 1 + 2 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index eff23a5b576..031e9900544 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -4013,6 +4013,19 @@ NTSTATUS WINAPI ZwUnloadDriver( const UNICODE_STRING *service_name ) return STATUS_SUCCESS; }
+/*********************************************************************** + * IoCreateFileEx (NTOSKRNL.EXE.@) + */ +NTSTATUS WINAPI IoCreateFileEx(HANDLE *handle, ACCESS_MASK access, OBJECT_ATTRIBUTES *attr, + IO_STATUS_BLOCK *io, LARGE_INTEGER *alloc_size, ULONG attributes, ULONG sharing, + ULONG disposition, ULONG create_options, VOID *ea_buffer, ULONG ea_length, + CREATE_FILE_TYPE file_type, VOID *parameters, ULONG options, void *driverctx) +{ + FIXME(": semi-stub\n"); + return NtCreateFile(handle, access, attr, io, alloc_size, attributes, sharing, disposition, + create_options, ea_buffer, ea_length); +} + /*********************************************************************** * IoCreateFile (NTOSKRNL.EXE.@) */ @@ -4021,8 +4034,9 @@ NTSTATUS WINAPI IoCreateFile(HANDLE *handle, ACCESS_MASK access, OBJECT_ATTRIBUT ULONG disposition, ULONG create_options, VOID *ea_buffer, ULONG ea_length, CREATE_FILE_TYPE file_type, VOID *parameters, ULONG options ) { - FIXME(": stub\n"); - return STATUS_NOT_IMPLEMENTED; + FIXME(": semi-stub\n"); + return IoCreateFileEx(handle, access, attr, io, alloc_size, attributes, sharing, disposition, + create_options, ea_buffer, ea_length, file_type, parameters, options, NULL); }
/*********************************************************************** diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index d8e082f032f..e3898b06f89 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -357,6 +357,7 @@ @ stdcall IoCreateDeviceSecure(ptr long ptr long long long ptr ptr ptr) @ stub IoCreateDisk @ stdcall IoCreateDriver(ptr ptr) +@ stdcall IoCreateFileEx(ptr long ptr ptr ptr long long long long ptr long long ptr long ptr) @ stdcall IoCreateFile(ptr long ptr ptr ptr long long long long ptr long long ptr long) @ stub IoCreateFileSpecifyDeviceObjectHint @ stdcall IoCreateNotificationEvent(ptr ptr)