- Convert win32k native api test to actual wine style api-tests
- Hack around a bit with the win32k dlls, some renaming, etc.
- Delete old apitest stuff
svn path=/trunk/; revision=70458
Don't use DATA and PRIVATE together. DATA means no stub function is generated in the import lib, PRIVATE means nothing is generated in the export lib.
svn path=/trunk/; revision=70454
Now, the fix: the FAT disk checker expected that the free cluster count member of the FAT32 FSInfo sector be really initialized (not to 0xFFFFFFFF), and it expected the presence of the backup of the FSInfo sector as well as the free sector following the FSInfo sector.
svn path=/trunk/; revision=70449
- DPRINT messages printed via VfatPrint by the check-disk procedure.
- Addendum to r70434 and r70435 : The return value of fs_close is equal to the number of corrections made on the disk (0 corrections --> success; 1+ --> something was corrected).
That way, the old code "return fs_close(FixErrors) ? STATUS_SUCCESS : STATUS_UNSUCCESSFUL;" that we had since eons (which always happened to return STATUS_SUCCESS) was actually
indicating to us that our FAT32-formatted volumes were corrupted.
If you test this revision, you should see something happening if you try to install ReactOS now (something that should have happened since ages actually).
svn path=/trunk/; revision=70447
- Formatting + RtlZero/FillMemory modifications as addendum to r70445.
- Do not hardcode FSInfo signature values, use instead the same set of macros fastfat_new introduces.
svn path=/trunk/; revision=70446
Fix handling of NULL buffer in streamout. Fixes a few msvcrt_crt_apitests, while it breaks a few for crtdll. crtdll is broken anyway and obsolete, nothing uses it, so it doesn't really matter.
CORE-9105 #resolve
svn path=/trunk/; revision=70443
It seems suspicious to directly return the value of fs_close as the NTSTATUS code of the check-disk operation (for FAT32 volumes it happens to return 1 whereas for FAT16 volumes it returns 0).
The documentation of this function says that it "returns a non-zero integer if the file system has been changed since the last fs_open, zero otherwise."
Maybe somebody has a more precise idea on that subject? In the meantime I also add some DPRINTs to attempt to diagnose the conditions where this problem occurs.
svn path=/trunk/; revision=70434
- Gather common code in one file instead of duplicating it everywhere.
- Implement full format for FAT12 and FAT16 (using the same function Fat1216WipeSectors), based on similar code for FAT32 implemented by Eric Kohl in revision 63693.
svn path=/trunk/; revision=70433
- fat.asm: remove trailing whitespace.
- fat32.asm: backport the fixes from fat32.S introduced a long time ago.
- fat32.S/faty.S: use .space 12, 0 instead of the long .byte array (generates the same code, but is better readable).
- isoboot/btrt: whitespace fix only.
svn path=/trunk/; revision=70432
Add another test for strlen, that tests, whether the direction flag in ELFAGS has been modified. While clearing it is legitimate to do according to the ABI, the native implementation does not change it, so we don't want to do it either.
svn path=/trunk/; revision=70429
- disable GCC builtins
- Add simple tests for strlen, showing that a NULL pointer will cause an access violation, which is broken in our asm implementation
svn path=/trunk/; revision=70427
[MSVCRT] Explicitly pull in _vsnprintf, bsearch and strcspn from CRT, to prevent the MS linker from exporting stubs from libntdll instead.
See CORE-10753
svn path=/trunk/; revision=70425
- Use the old fat.S source for compiling the FAT12 boot sector, until FATX.S is completely implemented.
- Fix an assembly error in FATX.S
- In comments I added experimental FAT12/16/32 targets based on Timo's FATX.S.
svn path=/trunk/; revision=70423
- Implement AbortSystemShutdownW by a call to BaseAbortSystemShutdown.
- Implement InitiateSystemShutdownW by a call to BaseInitiateSystemShutdown.
- Implement InitiateSystemShutdownExW by a call to BaseInitiateSystemShutdownEx.
- Add RPC binding code for the winreg server (in winlogon.exe).
svn path=/trunk/; revision=70420
SHUTDOWN: Fix the hack be calling InitiateSystemShutdownExW instead of ExitWindowsEx.
WINLOGON: Add a hack by calling ExitWindowsEx in BaseInitiateSystemShutdownEx.
svn path=/trunk/; revision=70419
Disable again the DR7 check until we correctly understand why bit 10 of DR7 (reserved) is almost always set (this lead to MSVC-built ReactOS crashing when being starting in non-debugging mode). See also r69244.
CORE-10165 #comment DR7 check again disabled in r70418.
svn path=/trunk/; revision=70418
For MSVC builds (using KDCOM kd64 WinDbg protocol): Bail out for droppable packets after a given number of retries, if no debugger is attached (list of droppable packets can be found in http://articles.sysprogs.org/kdvmware/kdcom.shtml section "KDCOM protocol", subsection "Droppable packets").
CORE-10541 #resolve #comment Finally fixed in revision r70417!
CORE-7106
svn path=/trunk/; revision=70417
Fix the value for EIP used by KDBG after an INT3 set by KDBG itself. The address is already fixed by KiDispatchException, but only in the context frame, not in the trap frame and KDBG insists to use the trap frame for a lot of things. Also, after a cont from such an int3, KDBG uses a single step to re-enable the breakpoint (it needs to disable it after it was hit to be able to execute the actual instruction), but it used to dismiss *any* single steps after that. So make sure, that an actual single step, as created by the debugger is not being dismissed, but the break point is still restored after the next single step entry. You might expect that a kernel debugger would at least support setting breakpoints, but this is KDBG.
svn path=/trunk/; revision=70416
- Change the start type to demand.
- Should stop free loader from throwing a tantrum because it can't load a non-existant boot driver
svn path=/trunk/; revision=70414
Correctly fix the definition of DRIVER_FS_NOTIFICATION (done the same way as the other DRIVER_xxx "callback" functions; by the way you'll notice they are all NTAPI aka. __stdcall. This is not explicitely mentioned in the W(D)DK, because MS supposes you compile all your kernel-mode code in stdcall convention, the WDK environment coming with preset default compiler switches enabling that. But if you try changing them, you'll run into big troubles. In our headers on the contrary we explicitely mention the calling conventions).
[FLTMGR]
Fix FltpFsNotification to adhere to the correct DRIVER_FS_NOTIFICATION definition.
Addendum to r70410.
svn path=/trunk/; revision=70413
Pass cjMaxBits parameter from GreCreateDIBitmapInternal to IntCreateDIBitmap and check the image size before creating the bitmap.
Should fix crash when hitting about tab in Office2000 WinWord.
CORE-10583 #comment please retest
svn path=/trunk/; revision=70412
- Add the beginning of the fltmgr. It's called rosfltmgr for now so I can test in Windows.
- It's currently just base code which registers for file systems appearing (or disappearing), and attaches itself to them and all other mounted devices in their chain.
- Although it builds (touch wood), don't add it to a running system. The IRPs aren't plugged in yet and it'll just bugcheck lower down the stack.
svn path=/trunk/; revision=70409
- Raise the IRQL when enumerating device lists so it doesn't get edited mid-listing
- Don't hardcode the pointer size when checking the buffer size
svn path=/trunk/; revision=70408
Save parameter registers (rcx, rdx) before calling CallRealMode. Patch by andy-123, applied to a secondary location by me.
CORE-10511 #resolve #comment Thanks. I added the same fix to PnpBiosGet below.
svn path=/trunk/; revision=70407
Hack, that fixes the "Volatile Environment" bug by deleting the "Volatile Environment" key before the user hive is unloaded.
CORE-10705
svn path=/trunk/; revision=70406