The attached Delphi XE2 project uses MFT to do a fast NFTS disk scan.
I'm looking for someone to add the following changes (either by directly editing the Delphi code, or by converting the C# code provided @ the end of this decription):
1. Query the change journal to get the newly modified files (changed, renamed, deleted, etc...)
You'll find two broken attempts in [url removed, login to view] --> GetRecentChanges() and EnumUsnEntries(), you may wanna take a look at it, just in case.
2. Restrict scan to a certain folder
If I'm not mistaken, it's possible to partially do so by defining the StartUsn in the EnumMFTEntries() function, but it's not clear to me how to do that.
3. Get the full path of a file name
For example, the EnumMFTEntries() always return the name only, along with its parent folder reference number, it's not clear what's the fastest way to get the full path.
The C# in question is here:
C# code: [url removed, login to view] (click the download link & take a look at this file: USNJournal\[url removed, login to view] it does contains the code you'll convert)
Blog Post [url removed, login to view]
I already posted a question here:
[url removed, login to view]
but it didn't get any feedback, now I need someone proficient enough in either Delphi and/or C# to get these tasks done.
This is a couple hours work for someone who knows the subject, but a real headache for me :(
** VERY IMPORTANT**
1. I'm after the speed, crazy fast speed, if your code works but is slow, I just won't accept it. I cannot stress enough on this point!
2. The code must work in Delphi XE2. It also must works on Windows XP or later