You mean COM interfaces? I usually do this:
interface SomeComInterface : IUnknown
{
extern(Windows):
BOOL PrototypeFoo();
}But maybe this is already implicit when deriving from IUnknown, I wouldn't know. But from what I can tell some of those prototypes seem to have C linkage, maybe you're getting access violations due to wrong calling conventions.
