DrvSendPage

BOOL DrvSendPage(

    IN SURFOBJ *pso

   );

DrvSendPage requests that the raw bits from the indicated surface be sent to the printer.

Parameters

pso
Points to the surface object on which the drawing has been accumulated. The object can be queried to find its type and which PDEV it is associated with.

Return Value

The return value is TRUE if the function is successful. Otherwise, it is FALSE, and an error code is logged.

Comments

Typically, DrvSendPage calls EngWritePrinter to request that the data be sent to the printer. However, if the hardcopy device is accessed via I/O ports, then a base driver should be used instead to gain access to the needed ports.

If the surface is a bitmap on which the drawing has been accumulated, the driver should access the bits via SURFOBJXxx service routines. If a driver has used a device-managed surface and sent the bits to the printer as the drawing orders came in, this call does not send out the drawing.

The control code that causes a page to be ejected from the printer should be sent as a result of this call.

If this function is slow, the driver should allow the user to abort the print job. In this case, the driver should call EngCheckAbort at least once every ten seconds to check whether printing should be terminated. If EngCheckAbort returns TRUE, processing of the page should be stopped and DrvSendPage should return FALSE.

DrvSendPage is required for printer drivers.

See Also

EngCheckAbort, SURFOBJ