I'm trying to figure out the smallest possible test case for writing an OLEDB provider that can interface with Crystal Reports (via the VB Crystal Reports template, for instance).

My starting point is the default implementation that the OLEDB Provider wizard gets. And I basically understand which part needs to be modified to get it to do something interesting, other than the default implementation of do a directory listing. I tested this default implementation against a VBS script that uses ADO/Recordsets. Works OK.

Now, when I use Visual Studio to create a VB project, and I add a Crystal Reports control. It creates the connection object, but it wants me to specify a table (in the VB GUI), and it can't find any tables--so it's basically stuck there. My assumtion is that I need to implement some optional OLEDB interface, but I don't know which one. If someone knows what Crystal Reports requires that would be awesome. I'm not holding by breath. So:

I read on some MS newsgroup, someone said something along the lines of "You need to find out which queryinterface calls Crystal Reports is making against your component, so you can implement those interfaces". This was said to someone who had a similar problem as what I am seeing. Anyway this advice makes sense to me, but I don't know how to accomplish the task. I would for instance hack the provider to log QI calls into a log file, but for some reason I think there's an easier, maybe a standard way to do this. ?

And finally, maybe someone just knows of a good reference on the web, or even a book that I can buy, related to implementing OLEDB Providers, which might help out.

Thanks for any info.