Fix pointer math ('unsigned long' will truncate the pointer).
[MKISOFS/SCHILY TOOLS]
Fix the invalid assumption that a 'long' variable can hold pointers. Will be sent upstream.
With this the whole of reactos and rostests builds on x64. Rosapps still has issues.
svn path=/trunk/; revision=75399
- Implement __RxWriteReleaseResources(), RxCommonWrite(), RxCompleteMdl(), RxGetTopIrpIfRdbssIrp(), RxLowIoWriteShell(), RxLowIoWriteShellCompletion()
- Finish implementation of RxCommonCleanup() so that it handles setting EOF on a file
- Finish implementation of RxCommonCreate() so that it handles sharing violations and attempts to scavenge open files
[RXCE]
- Implement RxpScavengeFobxs(), RxpTrackDereference(), RxpTrackReference(), RxPurgeFobx(), RxPurgeRelatedFobxs(), RxReinitializeContext(), RxSetFileSizeWithLock(), RxScavengeFobxsForNetRoot()
- Fix a bug in RxPrefixTableLookupName() where it was badly handling nodes in scavenger
This commits brings several improvments to the NFS driver.
First of all, now, the driver handles creating, extending and writing to files!
It also handles purging dormant opened files when a file opening fails because of a sharing violation
Finally, it also brings something to look at our references issues in RDBSS to help finding out why our FCB are never (or nearly) dereferenced
CORE-8204
CORE-11327
CORE-13581
svn path=/trunk/; revision=75398
MSVCRT_CRT_APITEST: Remove getmainargs tests from X64 build.
DELAYIMP: Fix callback prototype.
CComHeapPtr: Fix implementation of IMallocSpy to match the actual interface.
[WINETESTS]
ntdll: Disable 'generated' tests when not i386 platform, since they were generated for x86 and not x64 or ARM.
Fixes x64 compilation for tests.
svn path=/trunk/; revision=75397
Stub out some arch-specific functions (fixes x64 build).
[USBPORT]
Actually fix x64 build. The old code was not working at all, but the bootlib errors cancelled the build earlier than I thought.
The X64 compilation now succeeds, but cabman crashes trying to generate the bootcd.
svn path=/trunk/; revision=75396
Correct callback return type (Fixes X64 build).
[USETUP]
Correct definition of the struct (fixes X64 build).
[USBPORT]
Improve struct size checks so they are X64-compatible (fixes X64 build).
The build as a whole still fails due to bootlib, but implementing those is beyond my expertise.
svn path=/trunk/; revision=75392
-CBandSite: Remove CCS_NORESIZE style. This is a hack probably needed because our rebar control is buggy.
[EXPLORER]
-CTaskBand::GetBandInfo: Use the toolbar button size as the minimum and integral size for the band.
-CTaskSwitchWnd: Use the system small icon size for the size of the icon. Recreate the image list if this size changes. This together with the size of the font are the only factors for the size of the toolbar and consequently for the size of the band and if it is the only band, the size of the taskbar. Don't use TB_SETBUTTONSIZE. Now the size of the image list and the font dictate the size.
-CTrayWindow: In the classic theme make the start button have the same height with the tasks toolbar button height. Improve the calculation of the size of the taskbar in FitToRebar.
These changes should make the taskbar and the toolbar have a proper size. On top of that the taskbar is finally resizable (however our rebar is too buggy and still fills only the first line in the taskbar). While testing this I noticed that moving the taskbar in the sides of the screen is buggy now. I'm not sure if this was uncovered by these changes, if this was broken before or this was caused by these changes (looks unlikely to me) but will be fixed in subsequent commits).
svn path=/trunk/; revision=75385
Should fix returned codes by popen() and pclose(), which are functions that are called by windres, and this latter expects them to succeed. This was not the case before, in ROS, and therefore
trying to e.g. compile ROS within ROS failed from time to time with windres throwing the error that "preprocessing failed".
CORE-11568 #resolve
svn path=/trunk/; revision=75365
-CRegFolder: Implement CRegFolder::EnumObjects. Change its constructor to receive an extra parameter for the name of the key that should be enumerated.
-CEnumIDListBase: Add a new method called AppendItemsFromEnumerator to facilitate merging the contents from one IEnumIDList to another.
-Use the above in the enumerators of CControlPanelFolder, CDesktopFolder and CDrivesFolder to make them significantly simpler.
svn path=/trunk/; revision=75360
[BOOTDATA]
hivesys.inf: Put 'Mup' service back in 'File System' group. (Fix r72450)
Fixes installation of Vmware Tools which was always hanging.
CORE-12107 #resolve
svn path=/trunk/; revision=75355
Implement RxNotifyChangeDirectory(), RxLowIoNotifyChangeDirectoryCompletion(), RxCancelNotifyChangeDirectoryRequestsForVNetRoot()
This means the first parts of the directory watch are here. Though, NFS driver doesn't support these, but at least, it reduces the UNIMPLEMENTED spam!
CORE-11327
svn path=/trunk/; revision=75353
- CDesktopFolder: Create the enumerators of the internal fs folders and add their items in its own list instead of calling CreateFolderEnumList which enumerates ... files.
- Remove CEnumIDListBase::CreateFolderEnumList and move its code to CFileSysEnum::Initialize.
svn path=/trunk/; revision=75350
In case a FSD doesn't support directory changes notifications, don't try to requeue a notification each time it returns 0 data.
Just quit instead.
CORE-13549
svn path=/trunk/; revision=75349