ListDirData event is fired when client requests to see
directory listing, but before it's sent to the client.
This leaves you with room to change it if needed, to hide
certain items, or add new ones.
If NamesOnly is set to
True, it means that DirData argument contains only
names of files/directories, not their detailed information
(such as size, date, etc..) because the client requested
data in this form.
You can change DirData any way
you like - as long as it's valid Byte array. C++ users
should declare it as SAFEARRAY(unsigned char) * to compile
properly their applications.
We decided to present data as byte array because this
produces the smallest overhead on the product. When
directory contains many files (such as, for example,
30000), having DirData holding String variables could cause
too much CPU usage on byte<>String conversion, which
we wanted to avoid.