次の方法で共有


IContextNode::GetPropertyData メソッド

指定した識別子のアプリケーション固有のデータまたはその他のプロパティ データを取得します。

構文

HRESULT GetPropertyData(
  [in]      const GUID  *pPropertyDataId,
  [in, out]       ULONG *pulPropertyDataSize,
  [out]           BYTE  **ppbPropertyData
);

パラメーター

pPropertyDataId [in]

データの識別子。

pulPropertyDataSize [in, out]

データのサイズ (バイト単位)。 渡された値は使用されません。

ppbPropertyData [out]

プロパティ データを含む 8 ビット符号なし整数配列へのポインター。

戻り値

戻り値の説明については、「 クラスとインターフェイス - インク分析」を参照してください。

解説

注意事項

メモリ リークを回避するには、 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)

ブール型のプロパティには、次のものが含まれます。

  • 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。これは、ボックスの 4 隅の (x、y) の値を示します。

GUID_CNP_HOTPOINTはホット ポイント プロパティです。 戻り値は LONG* です。 *ppbPropertyData パラメーターを LONG* にキャストした場合、返される長さは であり sizeof(LONG)*2、ポイントの (x、y) 値を示します。

GUID_AHP_WORDLISTは単語リスト プロパティです。 戻り値は WCHAR* です。 *ppbPropertyData パラメーターを WCHAR* にキャストした場合、返される長さは です n * sizeof(WCHAR)。ここで n 、 はリスト内の文字列数の文字列長の合計に、各文字列の NULL 終了文字ごとに 1 を加算した値です。

この例では、Paragraph コンテキスト ノード タイプの AlignmentLevel コンテキスト ノード プロパティにアクセスするメソッドを示します。

// 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 タブレット PC エディション [デスクトップ アプリのみ]
サポートされている最小のサーバー
サポートなし
ヘッダー
IACom.h (IACom_i.c も必要)
[DLL]
IACom.dll

関連項目

IContextNode

IContextNode::AddPropertyData

IContextNode::RemovePropertyData

IContextNode::GetPropertyDataIds

IContextNode::ContainsPropertyData

IContextNode::LoadPropertiesData

IContextNode::SavePropertiesData

インク分析リファレンス