Метод IContextNode::GetPropertyData
Извлекает данные конкретного приложения или другие данные свойств для указанного идентификатора.
Синтаксис
HRESULT GetPropertyData(
[in] const GUID *pPropertyDataId,
[in, out] ULONG *pulPropertyDataSize,
[out] BYTE **ppbPropertyData
);
Параметры
-
pPropertyDataId [in]
-
Идентификатор данных.
-
pulPropertyDataSize [in, out]
-
Размер данных в байтах. Передаваемое значение не используется.
-
ppbPropertyData [out]
-
Указатель на 8-разрядный массив целых чисел без знака, содержащий данные свойства.
Возвращаемое значение
Описание возвращаемых значений см. в разделе Классы и интерфейсы — анализ рукописного ввода.
Remarks
Внимание!
Чтобы избежать утечки памяти, используйте CoTaskMemFree, чтобы освободить память из *ppbPropertyData , когда информация больше не нужна.
Помимо получения данных для конкретного приложения, добавленных с помощью IContextNode::AddPropertyData, этот метод используется для получения общих свойств, описанных константами контекстного узла .
К свойствам строкового типа относятся:
- GUID_CNP_RECOGNIZEDSTRING
- GUID_CNP_SHAPENAME
- GUID_AHP_ANALYSISHINTNAME
- GUID_AHP_PREFIXTEXT
- GUID_AHP_SUFFIXTEXT
- GUID_AHP_FACTOID
Возвращаемое значение — WCHAR*. При приведение параметра *ppbPropertyData к WCHAR* возвращается (length of the string + 1) * sizeof(WCHAR)
длина .
Свойства типа Boolean включают:
- GUID_AHP_OVERRIDELANGUAGEID
- GUID_AHP_COERCETOFACTOID
- GUID_AHP_WORDMODE
Возвращаемое значение равно VARIANT_BOOL. Если приведение параметра *ppbPropertyData к VARIANT_BOOL* возвращается sizeof(VARIANT_BOOL)
длина .
GUID_AHP_GUIDE является свойством типа направляющей. Возвращаемое значение — InkAnalysisRecognitionGuide*. При приведение параметра *ppbPropertyData к InkAnalysisRecognitionGuide* возвращается sizeof(InkAnalysisRecognitionGuide)
длина .
К свойствам целочисленного типа относятся:
- GUID_CNP_LINENUMBER
- GUID_CNP_POINTSPERINCH
- GUID_CNP_CONFIDENCELEVEL
- GUID_CNP_CONFIRMATION
- GUID_CNP_MAXIMUMSTROKECOUNT
- GUID_CNP_SEGMENTATION
- GUID_CNP_ALIGNMENTLEVEL
Возвращаемое значение — LONG*. При приведение параметра *ppbPropertyData к LONG* возвращается sizeof(LONG)
длина .
Свойства типа метрик строки:
- GUID_CNP_ASCENDERS
- GUID_CNP_DESCENDERS
- GUID_CNP_BASELINE
- GUID_CNP_MIDLINE
Возвращаемое значение — LONG*. При приведение параметра *ppbPropertyData к LONG* возвращается sizeof(LONG)*4
длина , обозначающая значения (x, y) для начальных точек, за которыми следуют значения (x, y) для конечных точек.
GUID_CNP_TEXTRECOGNIZERID является свойством GUID . Возвращаемое значение — GUID*. При приведение параметра *ppbPropertyData к GUID* возвращается sizeof(GUID)
длина .
GUID_CNP_ROTATEDBOUNDINGBOX является повернутой ограничивающей рамкой. Возвращаемое значение — LONG*. При приведение параметра *ppbPropertyData к long* возвращается sizeof(LONG)*8
длина , обозначающая значения (x, y) для четырех углов поля.
GUID_CNP_HOTPOINT является свойством горячей точки. Возвращаемое значение — LONG*. Если вы приводите параметр *ppbPropertyData к long* , его возвращаемая длина равна sizeof(LONG)*2
, что означает значения (x, y) для точки.
GUID_AHP_WORDLIST является свойством списка слов. Возвращаемое значение — WCHAR*. При приведение параметра *ppbPropertyData к WCHAR* возвращается n * sizeof(WCHAR)
длина , где n
— это сумма длины строк в списке плюс 1 для каждого завершающего символа NULL для каждой строки.
Примеры
В этом примере показан метод, который обращается к свойству узла контекста AlignmentLevel типа узла контекста Paragraph.
// Checks a paragraph context node's alignment level property.
// Only paragraph type context nodes contain the alignment level property.
HRESULT CMyClass::ExploreParagraphNode(
IContextNode *pParagraphNode)
{
// Get the AlignmentLevel property data for the paragraph.
LONG * alignmentLevel = NULL;
ULONG ulDataLen = 0;
HRESULT hr = pParagraphNode->GetPropertyData(
(const GUID*)&GUID_CNP_ALIGNMENTLEVEL,
&ulDataLen,
(BYTE**)&alignmentLevel);
if( FAILED(hr) ||
ulDataLen != sizeof(LONG) ||
alignmentLevel == NULL )
{
// Insert code that handles an error here.
}
else
{
// Insert code that uses the alignment level here.
}
// Free the memory allocated for the property data.
::CoTaskMemFree(alignmentLevel);
return hr;
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows XP Tablet PC Edition [только классические приложения] |
Минимальная версия сервера |
Ни одна версия не поддерживается |
Заголовок |
|
DLL |
|