rendered paste bodydiff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.cindex 660ba1b..531f6e7 100644--- a/dlls/ntdll/file.c+++ b/dlls/ntdll/file.c@@ -196,11 +199,11 @@ NTSTATUS WINAPI NtCreateFile( PHANDLE ha if (attr->RootDirectory) { FIXME( "RootDirectory %p not supported\n", attr->RootDirectory );- return STATUS_OBJECT_NAME_NOT_FOUND;+ io->u.Status = STATUS_OBJECT_NAME_NOT_FOUND; }-- io->u.Status = wine_nt_to_unix_file_name( attr->ObjectName, &unix_name, disposition,- !(attr->Attributes & OBJ_CASE_INSENSITIVE) );+ else+ io->u.Status = wine_nt_to_unix_file_name( attr->ObjectName, &unix_name, disposition,+ !(attr->Attributes & OBJ_CASE_INSENSITIVE) ); if (io->u.Status == STATUS_NO_SUCH_FILE && disposition != FILE_OPEN && disposition != FILE_OVERWRITE)@@ -226,7 +229,20 @@ NTSTATUS WINAPI NtCreateFile( PHANDLE ha SERVER_END_REQ; RtlFreeAnsiString( &unix_name ); }- else WARN("%s not found (%lx)\n", debugstr_us(attr->ObjectName), io->u.Status );+ else+ {+ /* Check for Nt device */+ SERVER_START_REQ( open_device )+ {+ req->access = access;+ req->attributes = attr ? attr->Attributes : 0;+ req->rootdir = attr ? attr->RootDirectory : 0;+ wine_server_add_data(req, attr->ObjectName->Buffer, attr->ObjectName->Length);+ io->u.Status = wine_server_call(req);+ *handle = reply->handle;+ }+ SERVER_END_REQ;+ } if (io->u.Status == STATUS_SUCCESS) {@@ -249,6 +265,7 @@ NTSTATUS WINAPI NtCreateFile( PHANDLE ha break; } }+ else WARN("%s not found (%lx)\n", debugstr_us(attr->ObjectName), io->u.Status ); return io->u.Status; }