In addition to LibMain, a language monitor must export only one other function: InitializeMonitorEx. The InitializeMonitorEx function initializes a MONITOR structure with a set of pointers to other functions that the language monitor provides to other spooler components.
Port monitors as well as language monitors have an InitializeMonitorEx function, which uses a MONITOR structure for the same purpose. So function names, each function parameter list, and function value data type and meaning are the same for language monitors as for port monitors, with the exception of the OpenPort function. Port monitors point to an OpenPort function in their function pointer table and language monitors point to OpenPortEx.
Note The functions names InitializeMonitorEx and OpenPortEx are used in the Windows 95 monitors to differentiate them from the InitializeMonitor and OpenPort monitor functions in the Windows NT spooler. This is done because in these two cases, the parameter lists of the Windows 95 function and the comparable Windows NT function are incompatible.
The InitializeMonitorEx and OpenPortEx functions and the MONITOR structure are documented in Reference. For documentation on the other functions a language monitor offers the other spooler components, see About Port Monitors.