Change DPMI asynchronous event handling.
Always use alternate stack in DPMI relays and check for pending events
after original stack has been restored.
handles as wineserver handles
- console input handle object is no longer waitable (input record
synchronisation is now implemented as a simple semaphore), and removed
FD_TYPE_CONSOLE from fd types in wineserver
- console handles now always have their two lower bit set so one can
distinguish a console handle from a kernel object handle
- implemented some undocumented kernel32 console related APIs
(CloseConsoleHandle, GetConsoleInputWaitHandle, OpenConsoleW,
VerifyConsoleIoHandle, DuplicateConsoleHandle)
- allowed a few kernel32 APIs to take console pseudo-handles
(FlushFileBuffer, GetFileType, WaitFor*Object*)
- simplified the console inheritance at process creation
- in console tests, no longer create a console if one already exists
the other one in environment variable expansion)
- the process parameters, when passed thru wineserver, are now fully
handled in ntdll, they are stored in the RTL_USER_PROCESS_PARAMETERS
structure.
- later on in kernel32 loading sequence, those parameters are copied
into STARTUPINFO shadow structures
- later modification to those paramters are now reflected to the
RTL_USER_PROCESS_PARAMETERS structure (and STARTUPINFO is kept
untouched) (for example, StdHandle setting) (Win 2k behaves like this)
- ENVDB has been removed
- command line inheritance (from unix command line) is now purely in ntdll
- all kernel32 environment functions now rely on their ntdll counterparts
- goodies: input/output handle inheritance while asking for a detached
console is better handled; a few more kernel32 environment tests now
pass ; silenced a valgrind warning in process creation
IDirectMusicLoader8Impl::LoadObjectFromFile
- don't use IDirectMusicSegment*Impl when IDirectMusicSegment*8Impl
can be used instead (avoid code duplication)
between cabextract.c and fdi.c
- reminders to eliminate global variables (for multithread
compatibility)
- remove struct fdi_cab: due to the nature of the FDI API, we cannot
preload all the cabinets; this appears to obviate the need for struct
fdi_cab
- "oppress" (that is, do not process) partial files which were
continuations from another cabinet
- more than one partial file can exist in a single cabinet (how!?) --
so move the partial file notification (and "oppression" that goes with
it) into the loop that iterates through files
retrieval of their interfaces via GetObjectInPath.
Fix and clean dsound and dmusics objects allocation when initializing
the performance object.
Some stubs improvements.
widechar classes.
- fix a stupid bug in callback handling caught by Lionel.
- add some forgotten IID on class factory (better if we want to active
the code)
- many cleanups on COM Macros (don't need A and W variants as they are
the same)