Holy cow, I wrote a book!
By default, Explorer does not show files that have the
FILE_ATTRIBUTE_HIDDEN flag, since somebody
went out of their way to hide those files from view.
You can, of course, ask that such files be shown anyway
by going to Folder Options and selecting
"Show hidden files and folders".
This shows files and folders even if they are marked as
On the other hand, files that are marked as both
remain hidden from view.
These are typically files that involved in the plumbing
of the operating system, messing with which can cause various
types of "excitement". Files like
the page file,
folder configuration files,
the System Volume Information folder.
If you want to see those files, too, then you can uncheck
"Hide protected operating system files".
Let's look at how far this game of hide/show ping-pong has gone:
You'd think this would be the end of the hide/show arms race,
some people want to add a sixth level and make something
invisible to Explorer, overriding the five existing levels.
At some point this back-and-forth has to stop, and for now,
it has stopped at level five.
Adding just a sixth level would create a security hole, because it
would allow a file to hide from the user.
As a matter of security, a sufficiently-privileged
user must always have a way of seeing what is there
or at least know that there is something there that can't be seen.
Nothing can be undetectably invisible.
If you add a sixth level that lets a file hide from level five,
then there must be a level seven that reveals it.