functions with ntdll equivalent
- replaced status setter/getter for wine async structures with direct
access to a (now included) IO_STATUS_BLOCK structure
- since we now have a IO_STATUS_BLOCK in async_private, we no longer
need in most of the user (derivated) structures a field for
LPOVERLAPPED (it's stored as the IO_STATUS_BLOCK)
- rewrote the async.h users accordingly
- implemented ntdll.Nt{Read|Write}File and let
kernel32.{Read|Write}File(Ex)? use those new ntdll functions
- rewrote smb read/write interfaces to be more ntdll stylish (no
overlapped yet)
dlls/kernel subdir (also splitting 16bit APIs in a separate file)
- implemented ntdll.Nt{Lock|Unlock}File, and made use of those for the
kernel32 equivalent
- implemented a few information classes in NtQueryInformationFile and
NtSetInformationFile (still lots of missing classes)
- enhanced the get_file_info server request in order to implement
correctly NtQueryInformationFile (change time & file alloc size)
- rewrote registry loading to comply with latest changes
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
RtlInitUnicodeStringEx.
Documentation updates for RtlInitAnsiString, RtlInitString,
RtlInitUnicodeString, RtlAnsiStringToUnicodeString and
RtlOemStringToUnicodeString.
Fix my own brown paper bag in RtlFillMemoryUlong().
RtlGetNtVersionNumbers() should never return < 5.
Remove RtlCopyMemory(), its not an ntdll export.
Implement RtlCompareMemoryUlong(), RtlComputeCrc32().
Documentation updates.
- in impacted functions, ensure that we only use ntdll functions
- for internal loading, start using NTDLL style for error reporting
- making use of new LdrLoadDll
- exported a few functions/global vars from module.h while we move
code from loader/module.c to dlls/ntdll/loader.c
- implemented LdrShutdownProcess, LdrShutdownThread and
LdrDisableThreadCalloutsForDll (and made use of them)
RtlInt64ToUnicodeString, RtlIntegerToChar, RtlIntegerToUnicodeString,
RtlLargeIntegerToChar, RtlUnicodeStringToInteger and
RtlUpcaseUnicodeChar.
- Use toupperW instead of toupper in RtlCompareUnicodeString.