The handling of an OD_DIRECT DC is similar to an OD_QUEUED PM_Q_RAW DC, except that PRTxxx calls are used to write the data. You should use a second thread for writing to the device so that the application's thread is not blocked for long periods of time during a device timeout situation.
The following illustration shows this output method.
Output to Device - OD_DIRECT