IContextNode::GetId method
Retrieves the identifier for the IContextNode object.
Syntax
HRESULT GetId(
[out] GUID *pId
);
Parameters
-
pId [out]
-
The identifier for the IContextNode object.
Return value
For a description of the return values, see Classes and Interfaces - Ink Analysis.
Remarks
The ink analyzer assigns a unique identifier to all context nodes it creates. During ink analysis, the ink analyzer may change the identifier for a context node. For example, the ink analyzer may reclassify one word node as two word nodes and then assign the original identifier to one and a new identifier to the other. Or, the ink analyzer may reclassify two word nodes as one word node and assign one of the original identifiers to the new word node.
Examples
The following example shows a helper method that retrieves information about a specified node, its pContextNode parameter. This helper method returns information from the following methods.
- IContextNode::GetId
- IContextNode::GetType
- IContextNode::GetLocation
- IContextNode::GetParentNode
// Helper method for collecting information about a context node.
HRESULT CMyClass::GetNodeInformation(
IContextNode *pContextNode,
GUID *pNodeIdentifier,
GUID *pContextNodeType,
IAnalysisRegion **ppAnalysisRegion,
IContextNode **ppParentNode,
IContextNodes **ppSubNodes)
{
// Get the identifier of the context node.
HRESULT hr = pContextNode->GetId(pNodeIdentifier);
if (FAILED(hr))
{
return hr;
}
// Get the type identifier for the context node.
hr = pContextNode->GetType(pContextNodeType);
if (FAILED(hr))
{
return hr;
}
// Get the location of the context node.
hr = pContextNode->GetLocation(ppAnalysisRegion);
if (FAILED(hr))
{
return hr;
}
// Get the parent node of the context node.
hr = pContextNode->GetParentNode(ppParentNode);
if (FAILED(hr))
{
if ((*ppAnalysisRegion) != NULL)
{
(*ppAnalysisRegion)->Release();
(*ppAnalysisRegion) = NULL;
}
return hr;
}
// Get the subnodes of the context node.
hr = pContextNode->GetSubNodes(ppSubNodes);
if (FAILED(hr))
{
if (*ppAnalysisRegion)
{
(*ppAnalysisRegion)->Release();
(*ppAnalysisRegion) = NULL;
}
if (*ppParentNode)
{
(*ppParentNode)->Release();
(*ppParentNode) = NULL;
}
return hr;
}
return hr;
}
Requirements
Requirement | Value |
---|---|
Minimum supported client |
Windows XP Tablet PC Edition [desktop apps only] |
Minimum supported server |
None supported |
Header |
|
DLL |
|