The official API is available here: Type Description Interfaces .
You can use it directly from C ++, but I suggest you use .NET (C # in my example) with an additional tool that Microsoft wrote a long time ago (mine dated 1997) with the name TLBINF32.DLL. It is also a COM object, but it is Automation (VBScript, Javascript, VB / VBA) and is compatible with .NET.
TLBINF32.DLL googling ( , , : tlbinf32.dll , , .ZIP , , ""...). , 32- DLL, 32-, . 64- .
MSDN 2000 : COM- TypeLib, VB ( .NET), .NET-.
#, lib ( MSHTML.TLB):
class Program
{
static void Main(string[] args)
{
TypeLibInfo tli = new TypeLibInfo();
tli.ContainingFile = @"c:\windows\system32\mshtml.tlb";
foreach (TypeInfo ti in tli.TypeInfos)
{
Console.WriteLine(ti.Name);
}
}
}