Metode IInkAnalyzer::GetRootNode
Mendapatkan Akar IContextNode dari pohon konteks objek IInkAnalyzer .
Sintaks
HRESULT GetRootNode(
[out] IContextNode **ppRootNode
);
Parameter
-
ppRootNode [out]
-
Akar IContextNode dari pohon konteks objek IInkAnalyzer.
Menampilkan nilai
Untuk deskripsi nilai yang dikembalikan, lihat Kelas dan Antarmuka - Analisis Tinta.
Keterangan
Perhatian
Untuk menghindari kebocoran memori, panggil IUnknown::Release di ppRootNode ketika Anda tidak perlu lagi menggunakan simpul akar.
IInkAnalyzer mempertahankan pohon objek IContextNode. Objek-objek ini berisi input untuk analisis dan hasil analisis. Ketika stroke awalnya ditambahkan ke IInkAnalyzer, IInkAnalyzer menetapkannya ke IContextNode jenis UnclassifiedInk (Lihat Jenis IContextNode::GetType dan Context Node). Setelah stroke dianalisis, IInkAnalyzer menetapkannya ke objek IContextNode yang sesuai di pohon. Untuk informasi selengkapnya tentang menggunakan IInkAnalyzer untuk menganalisis tinta, lihat Gambaran Umum Analisis Tinta.
Contoh
Contoh berikut menunjukkan metode yang memandu pohon hasil IContextNode penganalisis tinta. Jika IInkAnlyzer saat ini tidak melakukan analisis tinta, metode melakukan hal berikut.
- Mendapatkan string pengenalan teratas.
- Mendapatkan simpul akar penganalisis tinta.
- Memanggil metode pembantu,
ExploreContextNode
, untuk memeriksa simpul akar dan simpul anaknya.
// Helper method that explores the current analysis results of an ink analyzer.
HRESULT CMyClass::ExploreAnalysisResults(
IInkAnalyzer *pInkAnalyzer)
{
// Check that the ink analyzer is not currently analyzing ink.
VARIANT_BOOL bIsAnalyzing;
HRESULT hr = pInkAnalyzer->IsAnalyzing(&bIsAnalyzing);
if (SUCCEEDED(hr))
{
if (bIsAnalyzing)
{
return E_PENDING;
}
// Get the ink analyzer's best-result string.
BSTR recognizedString = NULL;
hr = pInkAnalyzer->GetRecognizedString(&recognizedString);
if (SUCCEEDED(hr))
{
// Insert code that records the ink analyzer's best-result string here.
// Get the ink analyzer's root node.
IContextNode *pRootNode = NULL;
hr = pInkAnalyzer->GetRootNode(&pRootNode);
if (SUCCEEDED(hr))
{
// Call a helper method that recursively explores context
// nodes and their subnodes.
hr = this->ExploreContextNode(pRootNode);
}
// Release this reference to the root node.
if (pRootNode != NULL)
{
pRootNode->Release();
pRootNode = NULL;
}
}
// Free the system resources for the recognized string.
SysFreeString(recognizedString);
}
return hr;
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung |
Windows XP Tablet PC Edition [hanya aplikasi desktop] |
Server minimum yang didukung |
Tidak ada yang didukung |
Header |
|
DLL |
|