EldoS | Feel safer!

Software components for data protection, secure storage and transfer

OnEnumerateDirectoryC Never Called

Posted: 08/17/2008 08:23:22
by Joe Portman (Basic support level)
Joined: 05/28/2008
Posts: 21

Using the example program, with slight modification to always set the flags I am interested in:

        CbFltCallbackFlags flags =
          CbFltCallbackFlags.OpenCallback |
          CbFltCallbackFlags.CloseCallback |
          CbFltCallbackFlags.DeleteCallback |
          CbFltCallbackFlags.ReadCallback |
          CbFltCallbackFlags.WriteCalback |
          CbFltCallbackFlags.EnumerateDirectoryCallback |
          CbFltCallbackFlags.RenameCallback |
          CbFltCallbackFlags.SetBasicInfoCallback |

        Utilities.DebugOut("adding pattern: " + edtMask.Text + "flags: " + flags);
        mCbFlt.AddFilterCallbackRule(edtMask.Text, flags);

Using a pattern say of : *.xxx

According to the documentation, whenever a file of name *.xxx is enumerated by the system, I should get the callback?

IE, in dos box, cd to c:\tmp and dir *.xxx (and there are some xxx files in there), the function is not called.

Posted: 08/17/2008 09:38:07
by Eugene Mayevski (Team)

The developer will answer, but for me it seems that in your case you are monitoring events (including enumeration) on directories named *.xxx, not enumeration of files named *.xxx.

Sincerely yours
Eugene Mayevski
Posted: 08/18/2008 03:25:35
by Vladimir Cherniga (Team)

In order to filter partial directory content you should set filter on a parent directory which contains interested files.
In your case set filter rule to "c:\tmp" in order to filter enumeration only from "c:\tmp" directory or add "c:\tmp\*.*" in order to filter "c:\tmp" directory content and each subfolders content.



Topic viewed 5339 times

Number of guests: 3, registered members: 0, in total hidden: 0


Back to top

As of July 15, 2016 EldoS business operates as a division of /n software, inc. For more information, please read the announcement.

Got it!