Commit Graph

129 Commits

Author SHA1 Message Date
Eric Pouech 4bb5d3ab3e - fixed the way length of msvcrt runtime info is passed
- always return a NULL runtime info buffer in child if parent's
  runtime info is NULL
- fixed typo in startupinfo size
2004-10-25 21:47:23 +00:00
Vincent Béron 6c644d68cf Fix various function prototypes. 2004-10-19 23:55:15 +00:00
Robert Shearman 2050591370 Fix NtAllocateVirtualMemory declaration and fix users of the
function.
2004-10-11 20:59:06 +00:00
Mike McCormack d80eb97b29 Use FILE_SHARE_DELETE when loading modules, as running an exe that's
going to be deleted should work.
2004-09-15 18:02:49 +00:00
Andreas Mohr 85b06836a5 Don't reject OS/2 programs, try to carry on in DOS mode. 2004-09-10 21:16:02 +00:00
Alexandre Julliard bb8f36addc Fixed the check for removable media in load_pe_exe (spotted by
Francois Gouget).
2004-09-09 00:26:57 +00:00
Eric Pouech 0bfb1cbc6b - msvcrt: the file descriptors are now inherited between parent/child
processes
- kernel32.CreateProcess: make use of the *reserved2 fields for
  C-RunTime data inheritance
2004-09-03 01:05:30 +00:00
Robert Shearman 3ae44f72b9 Added GetProcessId. 2004-08-24 18:46:05 +00:00
Alexandre Julliard 905e75f8e9 The argv array passed to the app needs to be in the Ansi codepage, not
the Unix one.
2004-08-18 21:03:32 +00:00
Mike McCormack e3d8853bb8 Moved FlushInstructionCache to ntdll. 2004-08-04 18:15:04 +00:00
Alexandre Julliard c4ec2108b1 Pass the environment for a child process through the server instead of
relying on the Unix environment.
2004-07-16 03:54:35 +00:00
Alexandre Julliard 9f58ee709d Set the system directory in ntdll as soon as we have determined it. 2004-07-15 22:07:21 +00:00
Eric Pouech b0fd2ade62 - Added ProcessBasicInformation class to ntdll.NtQueryInformationProcess.
- Make use of it in kernel32.
2004-06-14 17:02:00 +00:00
Rein Klazes 667ac7ff5e Fix a crash when launching Unix executables. 2004-06-04 18:01:02 +00:00
Alexandre Julliard 10e6f57fab Set the WINEPRELOADRESERVE variable when starting a new process. 2004-06-03 00:25:08 +00:00
Alexandre Julliard b1abca8a5d Initial version of the Wine preloader, used to reserve memory
areas at startup. Based on the work of Mike McCormack.
2004-05-28 20:59:22 +00:00
Alexandre Julliard 94d74b5fed Added support for managing reserved memory areas in libwine and ntdll.
Try to reserve everything above 0x80000000 on startup.
2004-05-25 01:29:24 +00:00
Alexandre Julliard ad546918b4 Use environment variables instead of config file entries to specify
path, profile, temp, windows and system directories.
Convert existing config file entries to registry values under
HKCU\Environment.
2004-05-14 21:43:18 +00:00
Alexandre Julliard 6ab8827236 Set environment variables from the HKCU\Environment key too.
Moved current directory initialisation to process.c.
Make sure to always pass the correct current directory in the process
parameters for child processes.
2004-05-14 05:03:29 +00:00
Alexandre Julliard 0d33e5e32d Added proper support for switching file APIs between ANSI and OEM
codepages. Optimized some of the A->W conversions by using the
per-thread Unicode string buffer.
2004-05-13 20:21:25 +00:00
Dimitrie O. Paun f950d97381 Remove the last remaining wine options when running programs.
Keep support for --help, and --version when they are the only options
on the command line.
2004-05-06 23:51:43 +00:00
Alexandre Julliard 0a19a07ecf Set additional environment variables at startup from
HKLM\System\CurrentControlSet\Control\Session Manager\Environment.
2004-05-05 22:05:18 +00:00
Alexandre Julliard 643617f2ae Moved most remaining file functions to dlls/kernel.
Removed files/file.c and include/file.h.
2004-05-01 05:25:07 +00:00
Alexandre Julliard 553a75e16e Use symlinks in dosdevices/ for the drive devices too.
Store drive types in the registry instead of in the config file.
Added some more code to convert existing config to the new scheme.
2004-04-29 00:27:57 +00:00
Alexandre Julliard 06c46d9aab Reimplemented Get/SetCurrentDirectoryW using the corresponding ntdll
functions.
2004-04-28 01:04:24 +00:00
Alexandre Julliard 716878c5b1 Fixed a number of NT status values to be closer to NT behavior. 2004-04-16 23:32:40 +00:00
Alexandre Julliard dfcfc98ed0 RtlSetCurrentDirectory_U: store a handle to the current directory
along with its name.
2004-04-16 05:00:46 +00:00
Alexandre Julliard 1cb0cf4ced Moved wine_get_unix_file_name implementation to ntdll, and changed it
to return an allocated buffer instead of a fixed size one.
2004-04-14 19:40:53 +00:00
Alexandre Julliard 693a3cd049 Create the devices earlier on during startup. 2004-04-12 22:12:43 +00:00
Alexandre Julliard af16aac743 Reimplemented SearchPathW using ntdll functions. 2004-03-25 23:41:04 +00:00
Alexandre Julliard 8a37297fe8 Get rid of the WINEOPTIONS variable and instead use WINEDEBUG to
inherit debug options.
Start deprecating the --debugmsg option.
2004-03-11 23:22:29 +00:00
Alexandre Julliard a98a37cde5 Do not put the TEMP and TMP variables into the Unix environment, use
WINETEMP and WINETMP instead, like we already do for PATH.
2004-03-11 00:49:01 +00:00
Alexandre Julliard 8045ad5c0e Removed some unnecessary definitions from file.h.
Got rid of drive.h.
2004-03-09 23:51:02 +00:00
Patrik Stridvall ede82e3055 Fixed some issues found by winapi_check. 2004-02-20 20:19:23 +00:00
Alexandre Julliard e92b7eed7e Store the kernel32 module handle globally to avoid some
GetModuleHandle calls that can cause deadlocks with the loader
section.
Moved some 16-bit definitions out of kernel_private.h.
2004-02-12 00:00:55 +00:00
Alexandre Julliard f19c9e7cdd Get pointer to CreateFileW earlier on during startup.
Make sure we don't crash when loading a dll before the modref for the
main exe has been created.
2004-02-07 01:11:54 +00:00
Mike McCormack edf9eb6eea Fix incorrect GetLongPathName usage exposed by Eric's filename
patches.
2004-02-05 01:23:42 +00:00
Francois Gouget 3ada284495 Avoid duplicate '=C:' entries in the child process environment. 2004-01-20 21:51:27 +00:00
Francois Gouget 52bf6c2bb1 Fix a file descriptor leak in create_process(). 2004-01-20 02:11:06 +00:00
Alexandre Julliard 3604824262 If supported by the linker, prevent the ELF loader from calling the
dll constructors at load time and call them from the dll entry point
instead.
2004-01-08 03:36:53 +00:00
Alexandre Julliard af542075e7 Don't use constructors for ntdll and kernel32 initialization. 2004-01-07 04:50:11 +00:00
Alexandre Julliard 402b79a1e8 Porting fixes. 2003-11-27 00:59:36 +00:00
Alexandre Julliard 16b4411669 Removed MODULE_GetLoadOrderA. 2003-11-25 01:03:04 +00:00
Alexandre Julliard c6d44be3e5 Create a huge array in bss to reserve the memory area we need for PE
binaries, to prevent exec shield from mapping system libraries there.
2003-11-22 00:08:26 +00:00
Alexandre Julliard 464cc10419 Fixed regression in loading of builtin apps from the system dir when
the native doesn't exist.
2003-11-17 20:18:19 +00:00
Alexandre Julliard d3fb25cd0f Moved a few definitions used in only one source file out of module.h. 2003-11-17 20:16:38 +00:00
Alexandre Julliard daeccba704 Moved the exec_wine_binary function to the wine library, and use it to
exec the wineserver too.
2003-11-11 22:21:29 +00:00
Mike McCormack 6a83224eb3 Fix incorrectly sized buffer. 2003-10-30 23:06:10 +00:00
Alexandre Julliard 55f2dac059 Fixed typo that broke handling of .com and .bat files. 2003-10-28 00:31:52 +00:00
Alexandre Julliard f9df57d94d Call the application entry point from kernel32, some apps depend on
that.
2003-10-24 00:32:36 +00:00
Alexandre Julliard 2aa8a8390a Replaced a few more 0xffffffff by the appropriate constants. 2003-10-16 19:31:11 +00:00
Alexandre Julliard a3c45689b4 Moved codepage functions to dlls/kernel.
Changed initialisation of the locale functions so that CP_UNIXCP works
as soon as possible during kernel32 init.
2003-10-14 05:32:30 +00:00
Alexandre Julliard e55d5937ac Set or clear the BeingDebugged flag in the PEB when a debugger is
attached to or detached from a process.
Don't send exception events to the server unless a debugger is
present.
2003-10-14 01:30:42 +00:00
Alexandre Julliard aff0343da5 Update __wine_main_argc after option processing. 2003-10-11 05:26:31 +00:00
Alexandre Julliard a6ed49ade3 Don't reference the environ global variable from kernel32, it may fail
to link (reported by Gerald Pfeifer).
2003-10-10 23:33:21 +00:00
Alexandre Julliard 410e6b7b39 Changed the init code to make libwine load only ntdll and transfer
control to it, and then have ntdll load kernel32 using the normal
loader mechanisms.
Get rid of BUILTIN32_LoadExeModule.
2003-10-10 00:12:17 +00:00
Alexandre Julliard 5cb5aa6346 Use the Rtl bitmap functions to implement Tls allocation.
Get rid of the PDB structure.
2003-10-09 19:58:56 +00:00
Alexandre Julliard 20e73d739a Moved the constructor for the initial TEB to ntdll so that it runs as
early as possible on startup.
2003-10-09 04:59:03 +00:00
Alexandre Julliard 0de2fde550 Moved build_command_line back to kernel and make it handle Unicode
properly.
2003-10-08 22:38:52 +00:00
Alexandre Julliard 687ecfa312 Moved a few more functions to the dlls/kernel directory. 2003-10-08 04:24:49 +00:00
Alexandre Julliard b81d9e7cf4 Link all remaining files that contain kernel APIs into kernel32.dll
instead of ntdll.dll. Removed a number of no longer needed files.
2003-10-08 03:57:02 +00:00
Alexandre Julliard 953849f2fc Added hack to call CreateFileW through a pointer so that we don't need
to link to kernel functions.
Commented out SMB support in NtReadFile for now.
2003-10-08 03:51:31 +00:00
Alexandre Julliard 87ae825bf8 Get rid of the argv0 and full_argv0 global variables. 2003-10-08 00:45:01 +00:00
Alexandre Julliard 632676b17e Moved the final process init and dependency loading to
dlls/ntdll/loader.c, (ab)using the LdrInitializeThunk entry point.
2003-10-06 21:18:51 +00:00
Alexandre Julliard 841f898663 Converted process creation to Unicode. 2003-10-04 04:09:41 +00:00
Alexandre Julliard 4137aecaa5 Changed LdrLoadDll to only search for the dll in the specified path,
using ntdll functions.
Moved LOAD_WITH_ALTERED_SEARCH_PATH functionality to LoadLibraryEx
where it belongs.
2003-10-02 04:58:49 +00:00
Alexandre Julliard c30cefb2d5 Store module names in Unicode in the server. 2003-09-30 01:04:19 +00:00
Alexandre Julliard 1cb92bbeec Converted the load order code to use Unicode throughout. 2003-09-27 03:50:40 +00:00
Alexandre Julliard 2052538a47 Moved loadorder support to dlls/ntdll.
Removed the --dll option and replaced it by the WINEDLLOVERRIDES
environment variable.
2003-09-25 20:33:41 +00:00
Alexandre Julliard 240b0a9b48 Moved the Windows version code to dlls/ntdll, and implemented
RtlGetVersion and RtlVerifyVersionInfo.
Moved the 16-bit and DOS version support to dlls/kernel.
2003-09-24 05:26:00 +00:00
Alexandre Julliard 97ad311e71 Moved the 32-bit builtin loader and the remaining bits of the PE
loader into dlls/ntdll/loader.c.
2003-09-19 04:04:57 +00:00
Eric Pouech c3e6c095e1 Implemented kernel32.GetIoProcessCounters and stubbed
ntdll.NtQueryProcessInformation(ProcessIoCounters).
2003-09-19 00:06:45 +00:00
Alexandre Julliard 52f692fb9b Moved the wine server client-side support to dlls/ntdll. Removed a
couple of unnecessary functions.
2003-09-18 23:27:19 +00:00
Eric Pouech e69ef68fc2 Set default StdError to fd 2 (was on 1). 2003-09-18 20:54:32 +00:00
Alexandre Julliard aaf3503ea5 Moved almost all remaining process, thread, fiber and exception
functions to dlls/kernel.
2003-09-17 05:31:32 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Alexandre Julliard 7df1b9e03a Start using the exported TEB structure from winternl.h where
possible.
2003-08-28 19:57:35 +00:00
Alexandre Julliard 4f4b980c1e Implemented NtRead/WriteVirtualMemory. 2003-07-08 21:18:45 +00:00
Alexandre Julliard 4cb212063b Moved some of the process functions to dlls/kernel.
Removed kernel dependencies from sysdeps.c and moved it to dlls/ntdll.
2003-06-27 04:08:04 +00:00