Port monitor server DLL functions

The following table lists the functions that a port monitor server DLL must define:

Function name Description
DllEntryPoint DLL entry point, typically called DllMain.
ClosePort Closes a port if there are no printers connected to it.
EndDocPort Performs end-of-print-job tasks on a port.
EnumPorts Enumerates the ports available for printing on a server.
InitializePrintMonitor2 Initializes the print monitor and returns an instance handle.
OpenPort Opens a printer port.
OpenPortEx Opens a printer port. (Language monitor only)
ReadPort Reads data from a printer port.
StartDocPort Performs the tasks required to start a print job on a port.
WritePort Writes data to a printer port.
XcvClosePort Closes a port after port management is complete.
XcvDataPort Handles port management tasks.
XcvOpenPort Opens a port for management purposes.

The following port monitor server DLL functions are optional:

Function name Description
GetPrinterDataFromPort Sends an I/O control code to a port driver and returns the result.
SendRecvBidiDataFromPort Supports bidirectional communication between an application and a printer or print server.
SetPortTimeOuts Sets a time-out value on an open port.
Shutdown Deletes a monitor instance. This function is required for cluster support.