The interface definition is a formal specification for how the client application and the server application communicate with each other. The interface defines how the client and server "recognize" each other, the remote procedures that the client application can call, the data types for those procedures' parameters and return values, and how the data is transmitted between client and server.
You define this interface in the Microsoft Interface Definition Language (MIDL) which consists of C-language definitions augmented with keywords, called attributes, which describe how the data is transmitted over the network.
The interface definition (.IDL) file contains type definitions, attributes and function prototypes that describe how data is transmitted on the network. The application configuration (.ACF) file contains attributes that configure your application for a particular operating environment without affecting its network characteristics.