DrvQueryPerBandInfo function (winddi.h)

A printer graphics DLL's DrvQueryPerBandInfo function is called by GDI before it begins drawing a band for a physical page, so the driver can supply GDI with band-specific information.

Syntax

ULONG DrvQueryPerBandInfo(
  [in]      SURFOBJ     *pso,
  [in, out] PERBANDINFO *pbi
);

Parameters

[in] pso

Caller-supplied pointer to a SURFOBJ structure describing the drawing surface.

[in, out] pbi

Caller-supplied pointer to a PERBANDINFO structure containing default information, which the function can overwrite.

Return value

The function must return one of the following values:

Return code Description
Greater than zero
GDI will use the contents of the PERBANDINFO structure.
Zero
GDI will ignore the contents of the PERBANDINFO structure.
DDI_ERROR
GDI will not draw the band.

Remarks

If a printer graphics DLL uses GDI-managed surfaces, and if it supports surface banding, it can optionally provide a DrvQueryPerBandInfo function. GDI calls the function prior to rendering each band.

The printer graphics DLL uses the function's PERBANDINFO structure to indicate whether the previous band should be redrawn, and to specify that the band should be scaled. If a printer graphics DLL supports banding but does not provide a DrvQueryPerBandInfo function, GDI will not repeat or scale bands.

The DrvQueryPerBandInfo function is only called during playback of EMF files.

Requirements

Requirement Value
Target Platform Desktop
Header winddi.h (include Winddi.h)

See also

DrvNextBand

DrvStartBanding