GetPenDataStroke
1.0 2.0
Returns a
pointer to stroke data contained in an HPENDATA memory block previously
locked with the BeginEnumStrokes
Note This function
is provided only for compatibility with version 1.0 of the Pen API and will not
be supported in future versions. Use other services such as GetPenDataAttributes , GetPointsFromPenData , or GetStrokeAttributes to examine an HPENDATA
block.
BOOL GetPenDataStroke( LPPENDATA lppd,
UINT iStrk, LPPOINT FAR * lplppt, LPVOID FAR * lplpvOem,
LPSTROKEINFO lpsi )
Parameters
lppd
Address of
the HPENDATA memory block. This parameter is the value returned by a
previous call to the BeginEnumStrokes
iStrk
Zero-based index
of the stroke to retrieve.
lplppt
Address of a
pointer to a point. The pointer returned by the function will point to the
first point of the stroke inside the pen data object. This parameter can be
NULL if point data is not required.
lplpvOem
Address of a
void pointer. The pointer returned by the function will point to the OEM data
block of the stroke inside the pen data object. The format of the OEM data is
specified by the rgoempeninfo member in the PENINFO
lpsi
Address of a STROKEINFO
Return Value
Returns TRUE
if successful. If the stroke requested is out of range, the function returns
FALSE.
Comments
GetPenDataStroke returns in lpsi a pointer to a STROKEINFO
structure created from the stroke referenced by iStrk. The lpsi
parameter does not point directly into the HPENDATA memory block.
However, the lplppt
argument points to the first point of the stroke inside the HPENDATA
block. For a description of how the GetPenDataStroke function has
changed in version 2.0 of the Pen API, refer to AppendixA.
Applications
must call BeginEnumStrokes
Under no circumstances
should an application modify data directly within an HPENDATA block.
Doing so can invalidate other information in the block. To modify an HPENDATA
block, use one of the Pen API functions listed in Chapter 4, The Inking
Process.
See Also