Interfaces Everywhere

Interfaces are the latest fad in operating system design. You access system features (or let the system access your features) through interfaces rather than through API functions. Since interfaces are what make Visual Basic classes tick, you’d think that system interfaces and Visual Basic would be a good match.

Unfortunately, most system interface designers seem to work in C or C++ and assume that everyone else does the same. Of course, designers of API functions often have the same short-sighted view, but Visual Basic provides the Declare, Type, and Const statements as a means of bridging the API gap. There’s no such bridge between system interfaces and Visual Basic. The only way to make system interfaces available to Visual Basic programs is through type libraries—and even then you have to lie about the types.