The way to detect weird directories that should be excluded from the user interface is to check for the and attributes being set simultaneously. This is the mechanism used when you uncheck Hide protected operating system files in the Folder Options dialog. (Programmatically, you detect whether the user wants to see protected operating system fi...
Some time ago,
I called out
this part of the documentation
regarding
managed and unmanaged threading:
On the first call to unmanaged code,
the runtime calls CoInitializeEx
to initialize the COM apartment as either an MTA or an STA apartment.
You can control the type of apartment created
by setting the
System.Threading.ApartmentState ...