PreOp Synchronize for QueryInfo and DirCtrl?

While looking at a sample just now, I noticed that it synchronizes
QueryInfo PostOp.
In my old DirCtrl code, I did the same - but that was soooo long ago,
before I even made any version references/docs - so I cannot remember
why, but I know it was required :slight_smile:

Anyone know why a QueryInfo PostOp would be synchronized?

I should note that:

  • I had a crash with an invalid address for the FileInfo buffer in the
    PostOp, even though it was a kernel mode address (0x9xxxxxxx on a
    32bit system)
  • IIRC, FltLockUserBuffer failed sometimes in DirCtrl PostOp, which
    was probably the reason why I forced a Sync.
    I reckon from above it is due to FltLockUserBuffer not working in
    QueryInfo PostOp, but since i had a crash with a kernel address, gotta
    be sure.

I cannot speak for query info I have never felt the need to use synchronize for it. Query dir info is easier to explain in that it uses neither io and if you want to avoid pinning the buffer in pre…