Bagikan melalui


Pendaftaran Layanan Teks

Selain entri registri server in-proc COM standar, layanan teks harus mendaftarkan dirinya dengan Text Services Framework (TSF) sehingga dapat tersedia untuk digunakan dengan aplikasi. TSF memasok antarmuka ITfInputProcessorProfiles dan ITfCategoryMgr untuk menyederhanakan proses pendaftaran.

Penyedia layanan teks juga harus memberikan tanda tangan digital dengan executable biner mereka. Lihat PengenalanPenandatanganan Kode .

Mendaftarkan Layanan Teks

Layanan teks mendaftarkan dirinya dengan TSF dengan memanggil ITfInputProcessorProfiles::Daftarkan dengan pengidentifikasi kelas layanan teks. Instans antarmuka ITfInputProcessorProfiles diperoleh dengan memanggil CoCreateInstance dengan CLSID_TF_InputProcessorProfiles.

Contoh berikut menunjukkan cara membuat objek ITfInputProcessorProfiles dan mendaftarkan layanan teks.

BOOL RegisterTextService(CLSID clsidTextService)
{
    HRESULT hr;
    ITfInputProcessorProfiles *pInputProcessProfiles;

    hr = CoCreateInstance(  CLSID_TF_InputProcessorProfiles, 
                            NULL, 
                            CLSCTX_INPROC_SERVER,
                            IID_ITfInputProcessorProfiles, 
                            (LPVOID*)&pInputProcessProfiles);

    if (hr != S_OK)
    {
        return FALSE;
    }

    hr = pInputProcessProfiles->Register(clsidTextService);

    pInputProcessProfiles->Release();
    
    return (S_OK == hr);
}

ITfInputProcessorProfiles::Unregister

Mendaftarkan Profil Bahasa

Layanan teks hanya tersedia ketika aplikasi memiliki fokus dan bahasa yang tepat dipilih di bilah bahasa. Untuk memfasilitasi hal ini, TSF mengharuskan layanan teks mendaftarkan dirinya untuk semua bahasa yang didukungnya. Layanan teks mendaftarkan profil bahasanya dengan memanggil ITfInputProcessorProfiles::AddLanguageProfile dengan pengidentifikasi kelas layanan teks, pengidentifikasi bahasa profil tersebut, dan layanan teks yang ditentukan GUID yang mengidentifikasi profil bahasa.

Profil bahasa dapat dihapus dengan memanggil ITfInputProcessorProfiles::RemoveLanguageProfile. ITfInputProcessorProfiles::Unregister menghapus semua profil bahasa untuk layanan teks; ketika layanan teks dihapus instalasinya, layanan tersebut memerlukan penghapusan profil bahasa individual.

Kategori Pendaftaran

Layanan teks juga harus mendaftarkan kategori tempat layanan teks berlaku. Misalnya, jika layanan teks menyediakan informasi atribut tampilan, layanan teks harus mendaftarkan dirinya sebagai penyedia atribut tampilan dengan memanggil ITfCategoryMgr::RegisterCategory dengan pengidentifikasi kelas layanan teks untuk parameter pertama, GUID_TFCAT_DISPLAYATTRIBUTEPROVIDER untuk parameter kedua dan pengidentifikasi kelas layanan teks lagi untuk parameter ketiga. Kategori yang mungkin tercantum di bawah Nilai Kategori yang Telah Ditentukan sebelumnya.

Hapus kategori yang terdaftar sebelumnya dengan memanggil ITfCategoryMgr::UnregisterCategory. ITfInputProcessorProfiles::Unregister menghapus semua kategori untuk layanan teks; saat layanan teks dihapus instalasinya, layanan teks harus menghapus kategori individual.