[NTFS]
Bugfixing... Part 6/X:
- Properly return the size of the NTFS volume (and not a buggy size)
- Properly return the characteristics of the NTFS volume


git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64829 97493ccd-5924-5043-b1f5-66cb403b36ce
[NTFS]
Bugfixing... Part 8/X:
- Actually, the files timestamp are already stored in the correct format on-disk... I should have listened to Thomas...

This fixes incorrect dates display when enumerating a directory contents. My apologies Thomas :-(.
Last to fix: the file size which is broken.


git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64832 97493ccd-5924-5043-b1f5-66cb403b36ce
[NTFS]
Bugfixing... Part 9/X:
- Return the appropriate size for file size.
- Round the allocation to cluster size (as requested by the API).

This fixes metadata display when enumerating a directory in CMD.
What you get now: http://www.heisspiter.net/~Pierre/rostests/NTFS_listing_fixed.png

Time to fix all the rest!
D'oh!


git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64833 97493ccd-5924-5043-b1f5-66cb403b36ce
[NET]
- Add the localgroup command. It does not work properly on ReactOS yet.
- Print a warning when the domain option of the accounts command is used. 

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64834 97493ccd-5924-5043-b1f5-66cb403b36ce
[regsrv32]
don't free hDll twice

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64835 97493ccd-5924-5043-b1f5-66cb403b36ce
[FASTFAT]
- Implement vfatPrepareTargetForRename() that prepares for renaming. It tries to open target and deletes it if it exists and if allowed. And then, it opens the parent directory.
- Implement VfatSetRenameInformation() that actually does the renaming (call as SetInformationFile). It handles cases we we have (or we don't have) TargetDirectory provided. It sends notifications as appropriated on demands.
- Implement vfatRenameEntry() that renames an entry in place. So far, it only supports FATX entries renaming. FAT entries are a bit more complex. It falls back to vfatMoveEntry() in later cases.
- Implement VfatMoveEntry() that will move an entry accross directories (or in place for FAT). Its principles are simple: it deletes the entry in old parent, and recreate it in new parent, keeping file metadata & data.
- Modify VfatDelEntry() and VfatAddEntry() so that they can handle deleting an entry without touching its data and adding an entry with an already provided FCB and thus use the given metadata.
- Implement vfatDelFCBFromTable() which is just old code moved to new routine to allow reuse. It deletes a FCB entry from hash table. Doesn't deal with references!
- Implement vfatMakeFullName() which is mostly old code moved to new routine to allow reuse. It allocates buffer and copy data for FCB full name.
- Implement vfatUpdateFCB() that will update a FCB with new names and parent. It will remove anything related to old name and will recreate using new data. It will adjust references count.
- Modify vfatMakeFCBFromDirEntry() so that it calls vfatMakeFullName().
- Modify vfatReleaseFCB() so that it calls vfatDelFCBFromTable().
- Revert VfatOpenFile() to its previous features.
- Modify VfatCreateFile() to reimplement support for SL_OPEN_TARGET_DIRECTORY. It is way less hackish than previously. It also properly opens parent now, by incrementing its handle count and by setting appropriate access rights.

[KERNEL32]
- Rewritten MoveFileWithProgressW() to implement all the missing features that are used in Windows 2k3 including links and reparse points.
- Implemented BasepMoveFileDelayed() to replace deprecated add_boot_rename_entry(). This functions is matching the features implemented in SMSS.
- Implemented BasepMoveFileCopyProgress() which is used in MoveFileWithProgressW().
- Stubbed BasepNotifyTrackingService() which is not use at the moment (FastFAT, even in Windows doesn't provide such feature).
- Reimplemented ReplaceFileA(), MoveFileWithProgressA() to quit Winisms and use our internal helpers.
- Make MoveFileX() use MoveFileWithProgressX() directly.
- Fixed a few prototypes.

TL;DR:
This (huge) commit implements file and directory renaming in FastFAT driver. This allows getting rid of old implementation in kernel32 where files were force copied.

A feature is still missing, but Jérôme should implement it anytime soon (he prototyped it already): moving directories across volumes. This requires some work in BasepCopyFileExW().

Kudos to all the devs who helped me on this: Christoph, Hervé, Jérôme, Thomas.
This finally allows killing CR-52... It was about time!


git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64836 97493ccd-5924-5043-b1f5-66cb403b36ce
[videoprt]
fix uninitialized variable usage in error case

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64837 97493ccd-5924-5043-b1f5-66cb403b36ce
[AFD]
- Do not pass IO_STATUS_BLOCKs when creating IRPs for asynchronous use. Fixes a use-after-free where AfdCloseSocket would cancel IRPs without actually waiting for their completion, and proceed to free the FCB, which contained these IO_STATUS_BLOCKs.
Note that using TdiBuildInternalDeviceControlIrp for these requests is broken in the first place, since it is intended for synchronous requests and requires a guarantee about the calling thread's lifetime. These functions (and their completion routines) should use IoAllocateIrp/IoReuseIrp/IoFreeIrp instead. However this can be fixed later; the incredibly annoying nonpaged pool corruption due to this that has been around for 10 years should be fixed with this commit.
CORE-8640 #resolve

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64838 97493ccd-5924-5043-b1f5-66cb403b36ce
[NPFS]
- Correctly interpret SeCreateClientSecurity return value in NpInitializeSecurity
- Always charge quota when allocating client context
- Specify explicit 0 tag when freeing allocations with unknown pool tag
- Misc readability fixes

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64839 97493ccd-5924-5043-b1f5-66cb403b36ce
[KERNEL32]
- Fix MSVC build

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64840 97493ccd-5924-5043-b1f5-66cb403b36ce
[cmd]
GetDateFormat expects size in characters

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64841 97493ccd-5924-5043-b1f5-66cb403b36ce
[cmd/help]
do not call wcslen on uninitialized variable

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64842 97493ccd-5924-5043-b1f5-66cb403b36ce
[FASTFAT]
- Move FCB list removal to vfatDelFCBFromTable, since vfatAddFCBToTable does the insert. Fixes list corruption in vfatUpdateFCB.

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64843 97493ccd-5924-5043-b1f5-66cb403b36ce
[explorer]
DragQueryFile expects size in characters

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64844 97493ccd-5924-5043-b1f5-66cb403b36ce
[SETUPAPI]
- actually use the icon source we get from registry instead of loading all icons from setupapi itself
CORE-8614

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64845 97493ccd-5924-5043-b1f5-66cb403b36ce
[devmgr]
don't free stack memory with LocalFree
CID 1101901

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64846 97493ccd-5924-5043-b1f5-66cb403b36ce
[WIN32K]
- add a missing break and reshuffle the code a tiny bit to fix CIDs 514466 and 513487
- don't skip the terminating debug print for ft_glyph_format_bitmap

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64847 97493ccd-5924-5043-b1f5-66cb403b36ce
[CMAKE]
* Use the x86 toolchain for host tools if the targeting platform is ARM. Brought to you by Yuntian Zhang.
CORE-7407 #resolve #comment Committed in r64849. Thanks!

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64849 97493ccd-5924-5043-b1f5-66cb403b36ce
[STRMBASE]
* Zap TransformFilter_Vtbl. Already accepted upstream.

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64850 97493ccd-5924-5043-b1f5-66cb403b36ce
[FAST486]
- Control register 0 is CR0: use FAST486_REG_CR0 instead of 0, as it is done in the rest of the code.
- Improve a if/else if control.
- Don't halt the processor in the middle of prefixes processing.

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64851 97493ccd-5924-5043-b1f5-66cb403b36ce