## Presentation Device Driver Reference for OS/2

[prev][next][parent][TOC]

### GreEscape DEVESC_QUERYVIOCELLSIZES - Parameters

hdc (HDC) - input Device context handle.

lEscape (LONG) - input DEVESC_QUERYVIOCELLSIZES escape code.

cInCount (LONG) - input The handling routine ignores this parameter.

pInData (PBYTE) - input The handling routine ignores this parameter.

pcOutCount (PLONG) - input Pointer to the number of bytes pointed to by pOutData.

On return, the handling routine updates the value indicated by this pointer to the number of bytes actually returned. This value must be an even multiple of sizeof(LONG). When the value passed is less than sizeof(LONG), the handling routine must change it to 0. Nothing is loaded at the address indicated by pOutData.

When the value passed equals sizeof(LONG), the handling routine must return the number of supported VIO character-cell sizes. The value indicated by pcOutCount is unchanged. The contents of the address indicated by pOutData are updated so that maxcount is the number of VIO cell sizes provided by the device. When the value passed is greater than sizeof(LONG), the handling routine must update the buffer addressed by pOutData so that:

"maxcount" is the number of VIO cell sizes provided by the device.
"count" is the number of VIOFONTCELLSIZE structures returned. This can be 0 when OutCount is 2*sizeof(LONG). For example:

    count==((pcOutCount-2*sizeof(LONG))/2*sizeof(LONG))

pOutData (PLONG) - input Pointer to the address of the data returned.

This is the location at which the handling routine stores the following structures:

maxcount Total number of VIO cell sizes provided by the device
count Number of VIOFONTCELLSIZE structures that follow

Followed by an array of VIOFONTCELLSIZE structures:

xWidth Width of the VIO character cell
yHeight Height of the VIO character cell

pInstance (PVOID) - input Pointer to instance data.

lFunction (ULONG) - input High-order WORD=flags; low-order WORD=NGreEscape.

rc (LONG) - returns Return Code.

The handling routine returns:

DEV_OK Successful
DEVESC_NOTIMPLEMENTED Escape not implemented for specified code
DEVESC_ERROR Error