PeekPenInput 

2.0     

Retrieves information about a specified pen packet in the pen input queue. For a definition of pen packet, see the description of SetPenHook232HBDD.

int PeekPenInput( HPCM hpcm, UINT idEvent, LPPOINT lppt, LPVOID lpvOem, UINT fuOemFlags )

Parameters

hpcm

Handle to a pen collection. This is the return value from StartPenInput1AOCU6.

idEvent

The identifier of the packet to be retrieved. The idEvent is the low-order word of the value returned from the Windows GetMessageExtraInfo3P040HC function when processing a WM_LBUTTONDOWN message.

lppt

Far pointer to a POINT44VP0_ structure. PeekPenInput copies the point corresponding to idEvent into the buffer pointed to by lppt.

lpvOem

The address of a buffer of OEM data in the packet. This parameter can be NULL if no OEM data is required.

fuOemFlags

Flags specifying which OEM data to retrieve. If this parameter is NULL, all of the OEM data provided by the tablet is returned in the order specified by the rgoempeninfo array in PENINFO3BE5AL5.

These flags have an implicit order. For example, if pressure and barrel rotation are specified in that order, cPntMax pairs of these data are returned in the same order: [pressure, rotation], [pressure, rotation], and so on. (cPntMax is the number of POINT structures specified in GetPenInput1AOBY7.)

Constant

Description

PHW_PRESSURE

Retrieve pressure data.

PHW_HEIGHT

Retrieve height data.

PHW_ANGLEXY

Retrieve data pertaining to the x- and y-coordinates.

PHW_ANGLEZ

Retrieve data pertaining to the z-coordinates.

PHW_BARRELROTATION

Retrieve barrel-rotation data.

PHW_OEMSPECIFIC

Retrieve OEM-specific data.

PHW_PDK

Retrieve PDK_ data.

 

Return Value

Returns PCMR_OK if successful; otherwise, the return value can be one of the following:

Constant

Description

PCMR_INVALIDCOLLECTION

The hpcm handle is invalid because the calling application did not start input with StartPenInput1AOCU6.

PCMR_INVALID_PACKETID

idEvent is invalid.

 

Comments

Unlike GetPenInput1AOBY7, this function does not remove data from the pen input queue. It only returns information about the packet specified by idEvent.

Whereas lppt points into the pen input queue, lpvOem does not. If lpvOem is not NULL, it points to a buffer provided by the caller into which the OEM data are copied from the pen input queue.

The buffer that lpvOem points to must be large enough to hold the requested OEM data copied from the packet. The size of each packet is the width specified in the cbOemData member of the PENINFO3BE5AL5 structure, plus sizeof( UINT ) if PDK_ values are required.

See Also

GetPenInput, PENPACKET