IInkAnalyzer::SetStrokesType method

Changes the type of the specified strokes.


HRESULT SetStrokesType(
  [in] ULONG      strokeIdCount,
  [in] LONG       *plStrokes,
  [in] StrokeType StrokeType


strokeIdCount [in]

The number of stroke identifiers in plStrokes.

plStrokes [in]

An array containing the stroke identifiers of the strokes to which to assign StrokeType.

StrokeType [in]

The StrokeType value to assign to the strokes.

Return value

For a description of the return values, see Classes and Interfaces - Ink Analysis.


If the stroke's type is the StrokeType value StrokeType_Unclassified, the IInkAnalyzer classifies the stroke during ink analysis. Otherwise, the IInkAnalyzer uses the type set on the stroke.

The IInkAnalyzer does not set the stroke type value as part of ink analysis. To specify or change the stroke type, use IInkAnalyzer::SetStrokeType Method or IInkAnalyzer::SetStrokesType Method.

If a stroke is associated with an IContextNode that is not an unclassified ink node (see IContextNode::GetType), this method moves the stroke to an unclassified ink node that contains strokes of the same language. If no such context node exists, this method creates a new unclassified ink node and adds the stroke to it. An unclassified ink node is an IContextNode that is of type UnclassifiedInk.

If this method moves a stroke from an IContextNode that is not an unclassified ink node, this method also adds the stroke's bounding box to the ink analyzer's dirty region (see IInkAnalyzer::GetDirtyRegion Method).

This method does not move a stroke if the StrokeType parameter matches the stroke's current type.

If a stroke identified in strokeIds is not associated with the IInkAnalyzer, this method ignores the identifier.

If none of the specified strokes identify a stroke associated with the IInkAnalyzer, this method returns without updating the IInkAnalyzer.

Setting the stroke type on strokes that are associated with a ContextNode that has NodeTypeAndProperties confirmed will raise an InvalidOperationException.

This method returns an error code when plStrokes is NULL.


Requirement Value
Minimum supported client
Windows XP Tablet PC Edition [desktop apps only]
Minimum supported server
None supported
IACom.h (also requires IACom_i.c)

See also


IInkAnalyzer::GetStrokeType Method

IInkAnalyzer::SetStrokeType Method

Ink Analysis Reference