Hi there, i'm looking for information on COM interfaces, i want to extend my programming language to support COM interfaces so i can write a few directx applications with it, but first need good documentation or explanation on what is going on behind the scenes.

e.g. where is the GUID passed to and when?, what is returned from GetDevice, is it a table with a list of pointers to the class functions or?

Hope someone can help, thanks in advance.