IDL is a language used to describe object interfaces by their names, methods, parameters, events, and return types. A compiler uses the IDL information to generate code to pass data between machines. Microsoft’s IDL, called COM IDL, is compiled using the Microsoft IDL compiler (MIDL). MIDL generates both type libraries and proxy and stub code for marshaling parameters between COM interfaces.