Поделиться через


Метод IContextNode::GetId

Извлекает идентификатор объекта IContextNode .

Синтаксис

HRESULT GetId(
  [out] GUID *pId
);

Параметры

pId [out]

Идентификатор объекта IContextNode .

Возвращаемое значение

Описание возвращаемых значений см. в разделе Классы и интерфейсы — анализ рукописного ввода.

Комментарии

Анализатор рукописного ввода назначает уникальный идентификатор всем узлам контекста, которые он создает. Во время анализа рукописного ввода анализатор рукописного ввода может изменить идентификатор узла контекста. Например, анализатор рукописного ввода может реклассифицировать один узел слова как два узла слов, а затем назначить исходный идентификатор одному и новый идентификатор другому. Кроме того, анализатор рукописного ввода может реклассифицировать два узла слов как один узел слов и назначить один из исходных идентификаторов новому узлу слов.

Примеры

В следующем примере показан вспомогательный метод, который извлекает сведения о указанном узле с его параметром pContextNode . Этот вспомогательный метод возвращает сведения из следующих методов.

// 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;
}

Требования

Требование Значение
Минимальная версия клиента
Windows XP Tablet PC Edition [только классические приложения]
Минимальная версия сервера
Ни одна версия не поддерживается
Заголовок
IACom.h (также требуется IACom_i.c)
DLL
IACom.dll

См. также раздел

IContextNode

Справочник по анализу рукописного ввода