Informazioni sull'API Controllo ortografico
Per gli utenti in tutto il mondo, l'input testuale fa parte di un'esperienza di elaborazione moderna, per blog, commenti, tweet, messaggistica istantanea o qualsiasi altro tipo di digitazione di testo. In Windows 8 il controllo ortografico è incorporato per modificare i controlli.
Gli sviluppatori possono usare l'API di controllo ortografico nelle app per utilizzare i servizi di controllo ortografico disponibili. Gli sviluppatori possono anche creare correttori ortografici che diventano provider e sono integrati nel framework di controllo ortografico di Windows.
L'API Controllo ortografico è progettata per l'uso da parte di sviluppatori C/C++ professionali di app COM (Component Object Model) di Windows. L'API Controllo ortografico non è supportata per l'uso in un servizio Windows o ASP.NET.
Controllo delle versioni
L'API Controllo ortografico è disponibile a partire dal Windows 8 o dal Windows Server 2012. Le aggiunte future all'API verranno gestite creando nuove interfacce che possono essere determinate usando QueryInterface su quelle esistenti.
Interfacce
Tutte le interfacce devono essere rilasciate quando non vengono più usate. Tutte le stringhe LPWSTR restituite (parametro out) e gli elementi LPOLESTR di IEnumString devono essere rilasciati con CoTaskMemFree quando non vengono più usati.
Gestione degli errori
Gli errori vengono restituiti come HRESULTs. IErrorInfo e ISupportErrorInfo non sono supportati in questa API. Gli errori non sono particolarmente utilizzabili, ad eccezione degli argomenti non corretti.
I codici di errore RPC standard possono essere restituiti da qualsiasi chiamata API perché sono out-of-process. Si applicano timeout RPC standard.
Sicurezza
L'API Controllo ortografico può caricare codice esterno (provider di controllo ortografico). Verrà eseguito questo codice out-of-process e in un contesto di sicurezza con restrizioni.
File di dizionario
I dizionari specifici dell'utente per una lingua, che contengono il contenuto per gli elenchi di parole Aggiunte, Escluse e Correzione automatica, si trovano in %AppData%\Microsoft\Spelling\<language tag>. I nomi file sono default.dic (Added), default.exc (Escluso) e default.acl (Correzione automatica). I file sono testo non crittografato UTF-16 LE che deve iniziare con il byte Order Mark (BOM) appropriato. Ogni riga contiene una parola (negli elenchi di parole aggiunte ed escluse) o una coppia di correzioni automatiche con le parole separate da una barra verticale ("|") (nell'elenco delle parole di correzione automatica). Altri file con estensione dic, exc e acl presenti nella directory verranno rilevati dal servizio di controllo ortografico e aggiunti agli elenchi di parole utente. Questi file vengono considerati di sola lettura e non vengono modificati dall'API di controllo ortografico.
Installazione di un provider di controllo ortografico
L'installazione di un provider di controllo ortografico deve inserire tutti i file usati in un percorso che consente l'accesso in lettura dal SID (identificatore di sicurezza) "ALL APPLICATION PACKAGES". L'installazione in una cartella in "Programmi" funziona correttamente. Inoltre, il provider deve impostare alcune chiavi nel Registro di sistema affinché appaia all'API di controllo ortografico. Può trovarsi nell'hive HKEY_CURRENT_USER o nell'hive HKEY_LOCAL_MACHINE a seconda che debba essere installato solo per l'utente corrente o per tutti gli utenti.
Key: <Registry hive>\SOFTWARE\Classes\CLSID\<Server CLSID>
Default (REG_SZ) = <Name of the provider>
Key: <Registry hive>\SOFTWARE\Classes\CLSID\<Server CLSID>\InprocServer32
ThreadingModel (REG_SZ) = "Both"
Key: <Registry hive>\SOFTWARE\Classes\CLSID\<Server CLSID>\Version
Version (REG_SZ) = <Version>
Key: <Registry hive>\SOFTWARE\Microsoft\Spelling\Spellers\<Provider id string>
CLSID (REG_SZ) = <CLSID of the COM Server that implements the provider>
L'esempio di provider di controllo ortografico fornisce un esempio della registrazione necessaria per installare un provider.
Se si creano nuove opzioni di controllo ortografico per un provider di controllo ortografico, vedere IOptionDescription::Id per indicazioni sulla denominazione.
Argomenti correlati