Today, let's look at a Windows API question that can be of interest handling Revit documents as well, and mention my night out to watch the lunar eclipse:
Did you notice that we had a total lunar eclipse early Monday morning?
I spent Sunday night on a hill with some friends celebrating a full moon fire, then slept out beside the embers to catch it beginning around 4:50 in the morning:
Here is a picture a little later, after the event, with the moon whole and intact again, setting over Basle:
Unfortunately you cannot see the new Roche tower, recently completed, currently the highest building in Switzerland. It is just off the picture, further left, i.e. south.
Nice experience, anyway, this 'red moon', well worth braving the cold.
Steve Goldsmith raised a question on Revit custom file properties quite a while back.
It now came up again on Stack Overflow, this time with more luck, receiving answers from Maxence and Axel Minet:
Question: Does anyone know how to access, read or write the Revit file custom properties using VB.NET and the Revit API?
They can be attached to both RVT and RFA files.
Answer: These properties have nothing to do with Revit specifically.
They are standard Windows properties associated with OLE structured storage, COM Structured Storage and the Compound File Binary Format.
They are stored in OLE property sets.
You can read them using the Windows API and view them using tools like the Structured Storage Viewer.
The Revit API does not support them in any way whatsoever.
The Building Coder showed how to access them using other means, e.g., Python and .NET, respectively, in the discussions on RVT File Version and Open Revit OLE Storage.
Rod Howarth published a more extensive example on how to set custom file properties and attributes in C# .NET.