The Microsoft Interface Definition Language (MIDL) defines interfaces between client and server programs. The MIDL compiler with the Platform Software Development Kit (SDK) to enable developers to create the interface definition language (IDL) files and application configuration files (ACF) required for Remote Procedure Call (RPC) interfaces and COM/DCOM interfaces are included with Microsoft. MIDL also supports the generation of type libraries for OLE Automation.
MIDL can be used in all client/server applications based on Windows operating systems. To create client and server programs for heterogeneous network environments that include such operating systems as Unix and Apple, MIDL can also be used. The Open Group (formerly known as the Open Software Foundation) DCE standard for RPC interoperability is supported by Microsoft.
When using MIDL with RPC, familiarity with C/C++ programming and the RPC paradigm is required. When using MIDL with COM, familiarity with C++ programming and the RPC paradigm as it applies to COM is required, or alternatively, familiarity with OLE Automation model scripting and type libraries is required.
Windows include the appropriate run-time libraries for using MIDL. The MIDL compiler and the components of the RPC development environment are installed when one installs the Windows SDK.