- Implement NtfsGrabFCBFromTableById() and NtfsGetFCBForFileById(). These two are responsible for opening and retrieving a file open by ID.
- Modified NtfsMakeFCBFromDirEntry() so that it supports openings by ID which come with less information than normal openings.
- Modified NtfsGrabFCBFromTable() so that it doesn't return a FCB which would have been opened by ID.
- Modified NtfsOpenFile() so that it allows opening a file by ID using the two FCB helpers functions defined upper.
- Modified NtfsCreateFile() so that it can validate input in case of opening by ID.
To make it short, all this implements file opening by ID in NTFS driver. I made the choice to separate FCB which are coming from "normal" opening and these from ID opening.
The reason is that a file opening with ID has less information than a normal opening, and may fail on these information retreival. This is due to the fact that if opening by ID can virtual open all the files, because it ignores authorizations, traverses checks, in the end for retrieving the information, such checks can be done and fail.
I also left all this disabled so far, because it appears to regress NFI. I will investigate this.
CORE-8725
svn path=/trunk/; revision=65652
Implement GetVolumeBitmap().
This allows NFI to find which file is at which LCN: http://www.heisspiter.net/~Pierre/rostests/NTFS_NFI_LCN.png
So far, NFI is not as verbose as it is on Windows in such cases, because FILE_OPEN_BY_FILE_ID is *still* unimplemented (you should consider implementing it Pierre ;-)).
I checked with Windows, the correct file is found though!
CORE-8725
svn path=/trunk/; revision=65645
- In the VCB, directly store the total number of clusters available in the volume, this will save a few recurrent divisions
- Use this everywhere it is possible
- Validate input in GetVolumeBitmap(): make sure we don't want bitmap beyond end of the volume
CORE-8725
svn path=/trunk/; revision=65639
- Implement NtfsGetUserBuffer() that will (attempt to) return the user output buffer for METHOD_NEITHER IOCTL.
- Implement parameters checking GetVolumeBitmap()
CORE-8725
svn path=/trunk/; revision=65638
Switch calc to using the registry for storing configuration values. Remove 9x codepath. Patch by Lee Schroeder. Cleaning up Ziliang Guo.
CORE-7746
svn path=/trunk/; revision=65633
Incorporate fixes provided by a patch from over three years ago that adds support for the additional compare options. Patch provided by kruntuid. Slight cleanup and reshuffling of some code to make it cleaner.
CORE-8484
svn path=/trunk/; revision=65629
Update the Event Detail Dialog to better match XP/2K3
Patch by Lee Schroeder.
I updated the remaining dialogs.
Translators: Please check the dialogs!
CORE_8904 #resolve
svn path=/trunk/; revision=65628
- Patch by Vincent Povirk : Allow EndMenu() calls from WM_ENTERMENULOOP.
- Patch by Akihiro Sagawa : Don't close a popup menu when clicking a sub-menu parent item twice.
- Move code to match wines. See CORE-8299.
svn path=/trunk/; revision=65622
Modify font enumeration code to deal with failure to read the registry key. Also change the registry key being queried to match the one used on Windows. Patch by Ricardo Hanke.
CORE-8203
svn path=/trunk/; revision=65621
* Followup to t65603. Fixes the start menu themeing regression (when running explorer in windows 2003).
CORE-8898 #resolve
svn path=/trunk/; revision=65618
Ach! Wir können noch nicht mit dem ID öffnen!
So far, bail out when we are requested to open a file with its MFT index instead of its name.
nfi triggers this a lot. Likely to be implemented ;-)
CORE-8725
svn path=/trunk/; revision=65613
My dear Pierre, in FSCTL_GET_NTFS_FILE_RECORD, you have METHOD_BUFFERED (yes, read well ;-)).
So if you want it to work, you HAVE to return the size of the data you wrote to the output buffer...
This makes FSCTL_GET_NTFS_FILE_RECORD finally working in ReactOS...
nfi.exe finally goes a bit farther, displays some files names and dies. Definitely still needs love.
CORE-8725
svn path=/trunk/; revision=65612
* Use LoadLibrary instead of GetModuleHandle in the wrapper of WinList_Init.
* Shdocvw was never loaded till that point so WinList_Init was not called.
* Should fix Opening link location in windows.
svn path=/trunk/; revision=65611