Commit Graph

239 Commits

Author SHA1 Message Date
Alexandre Julliard 014a8bb1e3 Do not call thread attach/detach routines during process exit to avoid
potential deadlocks.
2000-12-20 18:41:34 +00:00
James Abbatiello e675887129 Work around glibc 2.1.x dlopen bug (again). 2000-12-13 21:32:55 +00:00
Alexandre Julliard 982a223f36 Replaced PTR_SEG_TO_LIN macro by exported MapSL function.
Fixed a few ptr/segptr mismatches.
Moved CONV_RECT/POINT macros to wingdi16.h.
2000-12-13 20:20:09 +00:00
Alexandre Julliard becb9a353b Moved all Wine internal definitions out of process.h. 2000-12-11 03:48:15 +00:00
Aric Stewart e4d09327ef Added ASCII-only version of toupper, tolower, strcasecmp and the like
for file and module I/O.
2000-12-03 03:14:29 +00:00
Alexandre Julliard ef57e18f99 Removed some unnecessary includes. 2000-12-01 21:32:55 +00:00
Alexandre Julliard 32fcfc24ae Removed "elfdll" load order option and updated documentation. 2000-11-30 01:15:30 +00:00
Alexandre Julliard 24a62ab9b0 Got rid of the Wine internal lstrcpy* functions and of winestring.h. 2000-11-28 22:40:56 +00:00
Alexandre Julliard ac7efef3b5 Changed GetProcAddress16 and 16-bit resource functions to take normal
pointers instead of SEGPTRs.
Removed WIN16_GetTempDrive.
2000-11-27 21:54:01 +00:00
Alexandre Julliard ab687979fd Moved standard syslevel APIs declaration to winbase.h.
Use exported syslevel function wherever possible.
Moved SEGPTR declaration to windef16.h.
2000-11-15 23:41:46 +00:00
Alexandre Julliard 4e951ea25b Check all Callouts function pointers for NULL before using them.
Don't load USER dll if not needed by the application.
2000-11-08 22:47:53 +00:00
Alexandre Julliard e087508f57 Moved builtin dll registration to libwine.
Changed process initialization to not load imported dlls too early.
2000-11-08 04:33:20 +00:00
Andreas Mohr cabee39f3c Free the Win16 dummy module and wm->deps. 2000-10-25 21:22:27 +00:00
Alexandre Julliard 072dfb57e3 Removed inclusion of wine/winestring.h from winbase.h and added it to
the C files that need it.
2000-09-25 23:30:56 +00:00
Andreas Mohr 7096384d14 Fixed WinExec16 to handle quoted filenames correctly. 2000-09-22 22:08:28 +00:00
Eric Pouech 208955cada Fixed loader - broken search for already loaded modules. 2000-09-10 03:14:00 +00:00
Alexandre Julliard 9c2370bd75 Added exception handling wrapper to a number of server requests.
Changed a few requests to use the new vararg mechanism.
2000-08-30 00:00:48 +00:00
Peter Ganten c7c4246a99 - Always store the full path name of 32bit modules in WINE_MODREF
- Add the possibility to use path names with the --dll command line
  option
- Add the possibility to use the --dll command line option several
  times.
- Note: The colon-sign is now exchanged with the plus-sign, as it is
  part of dos path names.
2000-08-28 21:33:28 +00:00
Andreas Mohr 349655636b - made the MIDI sequencer error message much better for confused users
to be found on #WineHQ
- use strerror instead of errno at important places
- got rid of HAVE_STRERROR macro
- removed some #include:s (hopefully I didn't break anything)
2000-08-26 20:31:48 +00:00
Alexandre Julliard 081ee94117 - Fixed resource functions to work directly from the HMODULE instead of
requiring a modref.
- Attempted to get LOAD_LIBRARY_AS_DATAFILE right (based on patches by
  Eric Pouech and Dusan Lacko).
- Simplified modref structure and handling.
2000-08-07 04:12:41 +00:00
Peter Ganten 44d0d1907e WinExec16 should not split quoted filenames with spaces. 2000-08-01 20:55:22 +00:00
Alexandre Julliard 0aa6cc298e Removed a few external dependencies from ntdll. 2000-07-29 21:56:59 +00:00
Andreas Mohr b021fe2911 Added detection code for very old Windows (1.1, 2.0, ...) binaries to
MODULE_GetBinaryType().
2000-07-26 18:02:28 +00:00
Marcus Meissner dad709122a Transmit current directory settings to newly created processes. 2000-07-16 15:42:22 +00:00
Andreas Mohr 96293d4c29 Rename MODULE_InitDll to MODULE_InitDLL for the sake of consistency. 2000-07-08 18:28:03 +00:00
Alexandre Julliard 596921da0c Make sure the cmdline passed to CreateProcessA is writeable (thanks to
Peter Ganten <peter@ganten.org>).
2000-06-24 20:53:47 +00:00
Alexandre Julliard e3332128b0 Use FILE_SHARE_READ to open the file in GetBinaryTypeA. 2000-06-08 01:00:16 +00:00
Alexandre Julliard c192ba2468 Exec a separate wine binary for every win32 process so that they run
in separate address spaces.
Run 16-bit tasks as Win32 threads, not processes.
2000-05-29 21:25:10 +00:00
Alexandre Julliard 5b4f3e8d6d Rewrote Unix process launching to allow passing startup information to
Winelib apps. Improved handling of execve() failures.
2000-05-01 16:24:22 +00:00
Alexandre Julliard f93eb3e319 Authors: Gavriel State <gavriels@corel.com>, Ulrich Czekalla <ulrichc@corel.com>
Added support for memory mapping of 4k aligned PE binaries.  This can
speed up load times significantly for some applications.
2000-04-28 20:26:35 +00:00
Alexandre Julliard 180a088beb Moved PE header definitions to winnt.h where they belong. 2000-04-18 11:58:24 +00:00
Alexandre Julliard 8e8f0f52f7 Rewrote command-line parsing of CreateProcessA to be more compatible. 2000-04-15 21:30:33 +00:00
Alexandre Julliard b44595283f Improved Winelib apps initialisation code. No longer need to link
winestub.o with Winelib apps.
2000-04-15 21:00:55 +00:00
Eric Pouech 394203f68c Let CreateProcess launch unix executable without a .exe extension.
Fixed arguments passed when creating a unix process.
2000-04-13 19:26:56 +00:00
Patrik Stridvall 54fe8380a1 Fixed some issues reported by winapi_check. 2000-04-06 20:21:16 +00:00
Patrik Stridvall 2d6457c11a Added/fixed some documentation reported by winapi_check. 2000-03-28 20:22:59 +00:00
Alexandre Julliard 69e2bf626f Hack: always try builtin module before elf or elfdll to avoid loading
a builtin dll .so file in the wrong mode.
2000-03-19 21:21:56 +00:00
Alexandre Julliard 12f29b5076 Have threads and processes exit more cleanly whenever possible. 2000-03-17 15:16:57 +00:00
Alexandre Julliard 05f0b71bb3 Store the list of loaded dlls in the server, and generate debug events
internally.
2000-03-09 18:18:41 +00:00
Ulrich Czekalla cc27998626 wm->modname might be invalid at the end of FreeLibrary. 2000-03-08 18:41:22 +00:00
Patrik Stridvall 6cc47d4924 Removed a lot of unnecessary includes and fixed the compile errors. 2000-03-08 18:26:56 +00:00
Alexandre Julliard 00641d5b1c Removed PDB32_DEBUGGED flag and send all debug events unconditionally.
Implemented IsDebuggerPresent().
2000-03-08 16:41:37 +00:00
Andreas Mohr 4654c32122 It seems to be GetModuleFileName16 that checks exe version on whether
to return long or short paths, not GetModuleFileNameA.
2000-02-20 19:15:34 +00:00
Jeremy White d3e22d9d55 Removed #include of wingdi.h and windef.h from winuser.h (and resolved
the resulting compilation failures).
2000-02-10 19:03:02 +00:00
Ulrich Weigand 0b57a5caed Don't access 'wm->modname' after the modref has been flushed. 2000-01-15 22:01:48 +00:00
Peter Ganten 6619f5a71a Implemented WaitForInputIdle. 2000-01-01 22:38:20 +00:00
Francois Gouget baa9bf9a23 Buffer overflows and strncpy fixes. 1999-12-27 05:24:06 +00:00
Andreas Mohr 8952dea404 Fixed cmd line length calculation. 1999-12-12 20:16:42 +00:00
Dimitrie O. Paun dd03cc19fd Make use of the DEFAULT_DEBUG_CHANNEL where appropriate.
Use the default version of FIXME, ERR, WARN, TRACE for the default
channel.
1999-12-08 03:56:23 +00:00
Ulrich Weigand 0106f85e5f Delay sending debug events until process initialization is complete. 1999-12-08 03:28:14 +00:00
Sergei Turchanov d14aea2c64 Fix for GetBinaryType to return SCS_DOS_BINARY if extended signature
is unknown.
1999-12-04 04:17:37 +00:00
Ulrich Weigand 237e8e95b0 Fixed 32-bit module name handling to conform better to Win9x.
Removed OFSTRUCT passing during process creation sequence.
Bugfix: don't set exe_modref when LOAD_LIBRARY_AS_DATAFILE is set.
1999-12-04 04:04:58 +00:00
Alexandre Julliard ec7bb2391d Added support for CREATE_SUSPENDED flag in CreateProcess. 1999-11-12 03:35:25 +00:00
Ulrich Weigand d024d5e942 Bugfix: LOAD_DLL_DEBUG_EVENT lpImageName parameter was incorrect. 1999-11-10 20:15:04 +00:00
Ulrich Weigand e7957d6b48 Determine expected_version of PE buddies from the SubsystemVersion. 1999-11-10 19:45:56 +00:00
Jim Aston 031f4faaff Fixed compiling with STRICT. 1999-10-23 19:00:02 +00:00
Alexandre Julliard 8c81b7439d Authors: Chris Morgan <cmorgan@wpi.edu>, James Abbatiello <abbeyj@wpi.edu>
Removes extraneous comparison of data pointed to by the relocation
offset when no relocation entries exist.
1999-10-13 15:47:38 +00:00
Ulrich Weigand 79077f3253 Bugfix: Don't call GetVersionExA too early, to avoid breaking
automatic emulated Windows version detection.
1999-09-29 12:16:16 +00:00
Uwe Bonnes 20f7ef7355 Remember the allocated string to free it. 1999-09-28 13:08:36 +00:00
Alexandre Julliard 94822425f0 Fixed memory allocation bug. 1999-09-22 15:18:52 +00:00
Ulrich Weigand f52e109dea Set 'expected_version' of built-in and dummy modules according to
emulated Windows version.
1999-09-20 15:37:25 +00:00
Alexandre Julliard 891305b980 Removed __winelib flag. 1999-09-05 16:48:16 +00:00
Ulrich Weigand c3d9f28172 Moved implementation of WOW routines to single file.
Added all missing WOW routines, fixed WOWCallback16Ex.
1999-08-18 18:31:26 +00:00
Ulrich Weigand c50a1d05de Adapted to new-style Wine thunks.
Removed some now unnecessary function pointers.
1999-08-15 12:45:01 +00:00
Ulrich Weigand 8dbffe70fb Removed MODULE_GetWndProcEntry16().
Use 32-bit window procedures in COMMDLG instead.
1999-07-24 10:27:58 +00:00
Dave Pickles fec232930b Ensure that the command-line passed to the various *CreateProcess
functions contains the path to the program being invoked.
1999-06-26 11:48:26 +00:00
Marcus Meissner 1ab8907fce Fixed ambigous else/brace problem, moved "name" computation in
CreateProcess _before_ outputting it in the FIXME_()s.
1999-06-13 08:39:04 +00:00
Patrik Stridvall 4bf335497d Removed direct references to CLASS internals. 1999-06-12 14:52:15 +00:00
Guy Albertelli 0e65b38ff3 Add new "walk" command options to list processes and modref's. 1999-06-12 10:49:36 +00:00
Ulrich Weigand d523e4dbe6 Consult ne.operating_system field for NE files in GetBinaryType(). 1999-06-07 17:37:43 +00:00
Guy Albertelli 38d7da8d52 Use SearchPath to test for existance of programs in lpCmdLine
processing. For lpApplName do not append ".exe" and use
DOSFS_GetFullName to locate the program. Move module find process
after flag testing and provide quick exit if not found.
1999-06-06 09:04:29 +00:00
Alexandre Julliard d131a17ee0 Use the new debug functions to send debug events at appropriate places.
Pass the process creation flags to PROCESS_Create.
1999-05-23 20:02:04 +00:00
Ulrich Weigand 6315a7f334 Fix swapped FreeLibary return values. Handle FreeLibrary( 0 ) better.
Fix DLL_PROCESS_DETACH call sequence bugs resulting from nested
FreeLibrary calls.
1999-05-22 10:44:39 +00:00
Ulrich Weigand fdd6429632 Release Win16Lock when calling LoadLibrary32 from 16-bit code. 1999-05-17 15:00:13 +00:00
Alexandre Julliard 4cd0776938 Use OpenFile() to test for file existence, so that the path gets
searched.
1999-05-09 16:05:08 +00:00
Ulrich Weigand 6ce4006137 Bugfix: release Win16Lock in WinExec16, CallProc[Ex]32W_16. 1999-05-03 09:22:55 +00:00
Alexandre Julliard 481a8e263c Bug fixes. 1999-05-03 08:58:25 +00:00
Alexandre Julliard 06c275a643 Converted to the new debugging interface (done with the help of the
script written by Patrik Stridvall).
1999-05-02 14:32:27 +00:00
Guy Albertelli 4f6d7f38dc Fix CreateProcessA to implement correct actions on ambiguous command
line names (try longer and longer strings).
1999-05-02 10:17:31 +00:00
Patrik Stridvall c7a8dde118 #pragma pack(?) changed to #include "*pack*.h" 1999-04-25 12:36:53 +00:00
Bertho Stultiens f4b6e82b84 Do not increment module refCount if self is loaded from within
DllEntryPoint during the attach notification.
1999-04-22 08:56:40 +00:00
Bertho Stultiens af5745f504 Attach notifications must be send after all recursive dependencies are
loaded and not before.
1999-04-19 16:32:31 +00:00
Patrik Stridvall b4b9fae671 New debug scheme with explicit debug channels declaration. 1999-04-19 14:56:29 +00:00
Bertho Stultiens c1d1cfe976 Reorganization of the loader to correctly load and free libraries and
implementation of load order to load different types of libraries.
1999-04-18 12:14:06 +00:00
Kevin Holbrook a8f8bef098 Fix ambiguous else warning. 1999-04-18 09:33:20 +00:00
Bertho Stultiens 1b34697ad3 FreeLibrary partial implementation. 1999-04-11 14:52:24 +00:00
Marcus Meissner 574ef76b9f Added some SetLastError()s in GetProcAddress() and LoadLibrary(). 1999-04-03 16:23:47 +00:00
Ulrich Weigand 6903156eb5 Allow NULL NE resource handler; call the default handler directly.
Removed WPROCS / Callbacks support for WineLib resource handlers.
1999-04-01 10:08:21 +00:00
Jess Haas 1ff60f3451 Fixed CreateProcessA so it can handle commandlines with arguments and
no .exe.
1999-03-28 15:00:44 +00:00
Ulrich Weigand e469a583ca Fixed sequence of DLL_PROCESS_DETACH notification calls.
Moved PE_MODREF flags to WINE_MODREF level.
Better handling of LoadLibraryEx flags.
PE_InitTls() changed to work only on the current thread.
1999-03-27 16:45:57 +00:00
Ulrich Weigand 0092390cd6 Bugfix: cope with quoted arguments for CreateProcess(). 1999-03-22 17:47:36 +00:00
Sergey Turchanov 5ffd2df797 Implementation for FreeLibraryAndExitThread.
Made GetBinaryType = GetBinaryTypeA.
1999-03-22 12:35:48 +00:00
Alexandre Julliard f016752b45 Changed process initialisation to use the new server requests.
Started to move the process init to the right context, not finished yet.
1999-03-21 19:26:25 +00:00
Ulrich Weigand 892627b12b Pass CreateProcess() SECURITY_ATTRIBUTES through to PROCESS_Create(). 1999-03-16 16:29:26 +00:00
Peter Ganten 4e5b11680f Fix CreateProcess to handle lpCommandline better. 1999-03-13 17:05:39 +00:00
Ulrich Weigand 1b938b1817 Adapted to cursor/icon handling changes. 1999-03-10 14:03:06 +00:00
Ulrich Weigand aa23b0bd63 Bugfix: Allow lpCommandLine == NULL in CreateProcess(). 1999-03-10 13:28:54 +00:00
Andreas Mohr e518f4743c Added support for quoted file names in CreateProcess(). 1999-02-28 19:28:44 +00:00
Ulrich Weigand 6e0d38603e Process creation sequence reorganized:
- Removed instance data segment for all but NE modules.
- Check binary type in CreateProcess before loading module.
- Unix process creation moved from WinExec to CreateProcess.
- Bugfix: fill in thdb->teb.htask16 member correctly.
1999-02-28 11:14:32 +00:00
Alexandre Julliard a396029270 Large-scale renaming of all Win32 functions and types to use the
standard Windows names.
1999-02-26 11:11:13 +00:00