Metode IInkAnalyzer::BackgroundAnalyze
Melakukan analisis tinta asinkron.
Sintaks
HRESULT BackgroundAnalyze();
Parameter
Metode ini tidak memiliki parameter.
Menampilkan nilai
Untuk deskripsi nilai yang dikembalikan, lihat Kelas dan Antarmuka - Analisis Tinta.
Keterangan
Ketika metode ini dipanggil, IInkAnalyzer melakukan analisis tinta pada utas latar belakang.
Metode ini mengembalikan S_FALSE dan tidak memulai operasi analisis latar belakang baru dalam keadaan berikut.
- IInkAnalyzer saat ini melakukan analisis latar belakang.
- wilayah kotor (lihat Metode IInkAnalyzer::GetDirtyRegion) mewakili area kosong.
IInkAnalyzer menganalisis tinta dalam wilayah kotornya selama panggilan ke IInkAnalyzer::Analyze Method atau IInkAnalyzer::BackgroundAnalyze Method. Namun, IInkAnalyzer dapat memperluas operasi analisis untuk menyertakan wilayah tetangga.
Metode ini mengatur wilayah kotor ke wilayah kosong.
Jika data stroke ditambahkan ke IInkAnalyzer setelah panggilan ke Metode IInkAnalyzer::BackgroundAnalyze, IInkAnalyzer dapat memperbarui wilayah kotor selama fase rekonsiliasi analisis tinta.
Pengaturan mode analisis (lihat Metode IInkAnalyzer::GetAnalysisModes) menentukan bagaimana IInkAnalyzer melakukan analisis latar belakang. Untuk informasi selengkapnya tentang analisis tinta, lihat Gambaran Umum Analisis Tinta.
Metode ini mengembalikan kode kesalahan dalam keadaan berikut.
- Aplikasi Anda telah menetapkan nilai AnalysisModesAnalysisModes_IntermediateResults di IInkAnalyzer (lihat Metode IInkAnalyzer::SetAnalysisModes) dan tidak menangani peristiwa _IAnalysisEvents::IntermediateResults .
- Aplikasi Anda telah menghapus nilai AnalysisModesAnalysisModes_AutomaticReconciliation di IInkAnalyzer (lihat Metode IInkAnalyzer::SetAnalysisModes) dan tidak menangani peristiwa _IAnalysisEvents::ReadyToReconcile .
- Aplikasi Anda tidak menangani peristiwa _IAnalysisEvents::Results .
- Aplikasi Anda tidak menangani peristiwa _IAnalysisEvents::UpdateStrokesCache .
Contoh
Contoh berikut memeriksa wilayah kotor penganalisis tinta, lalu memulai analisis tinta latar belakang jika wilayah kotor tidak kosong.
// Check that the ink analyzer's dirty region is not empty.
IAnalysisRegion *pDirtyRegion;
hr = this->m_spIInkAnalyzer->GetDirtyRegion(&pDirtyRegion);
if (SUCCEEDED(hr))
{
VARIANT_BOOL bIsEmpty;
hr = pDirtyRegion->IsEmpty(&bIsEmpty);
if (SUCCEEDED(hr))
{
if (!bIsEmpty)
{
// Insert code that prepares the application for background
// ink analysis here.
// Start background ink analysis. The _IAnalysisEvents::Results
// event signals when background ink analysis is complete.
hr = this->m_spIInkAnalyzer->BackgroundAnalyze();
}
}
}
// Free the memory for the dirty region.
if (pDirtyRegion != NULL)
{
pDirtyRegion->Release();
}
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 |
|