IContextNode::ReparentStrokeByIdToNode method

Moves stroke data from this IContextNode to the specified IContextNode.


HRESULT ReparentStrokeByIdToNode(
  [in] LONG         lStrokeId,
  [in] IContextNode *pContextNodeDestination


lStrokeId [in]

The identifier of the stroke to move.

pContextNodeDestination [in]

The IContextNode object to which to move the stroke data.

Return value

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


The specified IContextNode object must be one of the following types from the Context Node Types constants: InkWord, InkDrawing, InkBullet, or UnclassifiedInk. Attempting to move a stroke to any other type of IContextNode object results in a return value of E_INVALIDARG.

This method can be called from any IContextNode object, including non-ink leaf IContextNode objects. The specified stroke must be referenced by one of the descendants of this IContextNode object or E_INVALIDARG is returned.

If either this IContextNode or the IContextNode in pContextNodeDestination is confirmed, E_INVALIDARG is returned (see IContextNode::IsConfirmed).

The ink analyzer does not delete empty context nodes from its results tree in response to this method.

  • An ink leaf node that does not reference any stroke data is an empty node.
  • A container node that does not reference any child nodes is an empty node.

An empty node generates errors if it is in the tree during an ink analysis operation. To remove a node from the ink analyzer's tree, call the parent node's IContextNode::DeleteSubNode method (see IContextNode::GetParentNode).


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



Ink Analysis Reference