Sorry that the title is sort of cryptic, but the news server rejected my
non-cryptic title which was much clearer.
Hi all, I’ve built a little minifilter to watch what is happening when you
delete a file with the explorer.
Basically, I’m picking up, in a preoperation callout, the
IRP_MJ_SET_INFORMATION looking for FileRenameInformation for Renames and
FileDispositionInformation (delete flag) for Deletes and IRP_MJ_CREATE with
the File_DELETEP_ON_CLOSE options flag set.
When I delete the file, I get a Delete coming thru on the file I deleted and
then a get a Rename on it to the recycler. Which makes some sense, but it
seems to be backwards.I would have expected a “Rename” and no delete (a
move) or since this is low level, a rename then a delete (a copy and then a
delete) but a delete then a rename?
I thought that maybe the Delete is a “high level” routine that copies the
file to the recycler, but the same results seems to be happening when catch
them in a postoperation callout.
Does anyone know what I’m missing?
Thanks,
Gene