IInkAnalyzer::AddStroke メソッド
1 つのストロークのストローク データを IInkAnalyzer に 追加し、アクティブな入力スレッドのカルチャ識別子をストロークに割り当てます。
構文
HRESULT AddStroke(
[in] LONG lStrokeId,
[in] ULONG ulStrokePacketDataCount,
[in] LONG *plStrokePacketData,
[in] ULONG ulStrokePacketDescriptionCount,
[in] GUID *pStrokePacketDescriptionGuids,
[out] IContextNode **ppContextNodeStrokeAddedTo
);
パラメーター
-
lStrokeId [in]
-
追加するストロークの識別子。
-
ulStrokePacketDataCount [in]
-
ストローク内のパケットの数。
-
plStrokePacketData [in]
-
ストロークのパケット データを含む配列。
-
ulStrokePacketDescriptionCount [in]
-
各パケットのパケット プロパティの数。
-
pStrokePacketDescriptionGuids [in]
-
パケット プロパティ識別子を含む配列。
-
ppContextNodeStrokeAddedTo [out]
-
IInkAnalyzer によってストロークが追加された IContextNode へのポインター。
戻り値
戻り値の説明については、「 クラスとインターフェイス - インク分析」を参照してください。
解説
注意事項
メモリ リークを回避するには、 オブジェクトを使用する必要がなくなったときに、ppContextNodeStrokeAddedTo で IUnknown::Release を呼び出します。
ppContextNodeStrokeAddedTo が NULL の場合、呼び出し元がメソッドからの戻り値に関心を持たないことを示します。
IInkAnalyzer は、UnclassifiedInk 型の IContextNode にストロークを追加します (「コンテキスト ノードの種類」を参照)。 このノードは、ルート ノードのサブノード コレクションにあります ( 「IInkAnalyzer::GetRootNode メソッド 」および 「IContextNode::GetSubNodes メソッド」を参照してください)。
IInkAnalyzer は、アクティブな入力スレッドのカルチャ識別子をストロークに割り当て、同じカルチャ識別子を持つストロークを含むインク アナライザーのルート ノードの下にある最初の UnclassifiedInk コンテキスト ノードにストロークを追加します。 インク アナライザーに同じカルチャ識別子を持つノードがない場合は、ルート ノードの下に新しい UnclassifiedInk コンテキスト ノードが作成され、ストロークが新しい UnclassifiedInk コンテキスト ノードに追加されます。
plStrokePacketData には、ストローク内のすべてのポイントのパケット データが含まれています。 pStrokePacketDescriptionGuids には、ストローク内の各ポイントに含まれるパケット データの種類を記述するグローバル一意識別子 (GUID) が含まれています。 使用可能なパケット プロパティの完全な一覧については、「 PacketPropertyGuids 定数」を参照してください。
このメソッドは、領域の現在の値と追加されたストロークの境界ボックスの和集合にダーティ領域を展開します。
IInkAnalyzer に同じストローク識別子を持つストロークが既に含まれている場合、IInkAnalyzer は E_INVALIDARG の HRESULT を返します。
必要条件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows XP タブレット PC エディション [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
サポートなし |
Header |
|
[DLL] |
|