Sometime in the Vista Beta -> RC period I noticed that meta data couldn't be read using DirectShow (DS) while a show was being recorded. At the time I thought it was a bug (after all it worked just fine in XP), but when it was still there in the RTM build it was very discouraging.
I don't know what changed in how the SBE objects interact with the file, but after thinking about it for a while I thought maybe it had something to do with the introduction of Media Foundation (MF). With all the other things going on I didn't really get a chance to play with it enough, and ended up adding functionality to DTB to work around the issue. Well the other day Coyote posted a link to a managed version of GraphEdit. While checking it out I discovered that there was a managed wrapper for MF similar to DirectShow.net, so I gave it a shot and figured out how to read meta data from an ASF file (DVR-MS files are ASF files). Unfortunetly the effort was for nothing as it suffered from the same limitation as the DS.
There is a happy ending because while looking at the MF documentation on MSDN, I found the ASF Specification. Armed with this information AsfParse was born. For now AsfParse just parses the header information and returns meta data, but I plan to complete the implementation as time (and demand) allows. I've only done preliminary testing, but everything indicates that this will provide access to meta data as the file is recording, and real time PC evaluation can be added back into the Vista version of DTB's feature set.
AsfParse is licensed under the LGPL, so feel free to use it in your own applications. If you flesh out the class please let me know so I can update my version.