My app adds some custom metadata to files. I want to display it in Windows Explorer like this:

It can be done on XP using a Column Handler shell extension - see here: http://www.codeproject.com/Articles/3747/Explorer-column-handler-shell-extension-in-C#
However IColumnHandler is not supported on Vista and up. Here you have to implement PropertyHandler. See Windows SDK \Samples\winui\Shell\AppShellIntegration\PropertyHandlers.
Each property is described by property schema XML file. This property schema must be registered with PSRegisterPropertySchema(). Property handler implements IInitializeWithXXX, IPropertyStore and optionally IPropertyStoreCapabilities. You have to register CLSID of your implementation for each file extension you want to handle.
Unfortunately, you cannot use AllFileSystemObject or * in registration.