Delen via


Over de Spellingcontrole-API

Voor gebruikers over de hele wereld maakt tekstinvoer deel uit van een moderne computerervaring, voor blogging, opmerkingen, tweeten, chatberichten of andere typen tekst. In Windows 8 is spellingcontrole ingebouwd in bewerkingsvelden.

Ontwikkelaars kunnen de API voor spellingcontrole in hun apps gebruiken om beschikbare services voor spellingcontrole te gebruiken. Ontwikkelaars kunnen ook spellingcontroleprogramma's maken die providers worden en worden geïntegreerd in het Windows-framework voor spellingcontrole.

De Spellingcontrole-API is ontworpen voor gebruik door professionele C/C++-ontwikkelaars van COM-apps (Windows Component Object Model). De Spellingcontrole-API wordt niet ondersteund voor gebruik in een Windows- of ASP.NET-service.

Versiebeheer

De Spellingcontrole-API is beschikbaar vanaf Windows 8 of Windows Server 2012. Toekomstige toevoegingen aan de API worden verwerkt door nieuwe interfaces te maken die kunnen worden bepaald met behulp van QueryInterface op de bestaande interfaces.

Interfaces

Alle interfaces moeten worden vrijgegeven wanneer ze niet meer worden gebruikt. Alle geretourneerde (out parameter) LPWSTR tekenreeksen (en LPOLESTR- items uit IEnumString) moeten worden vrijgegeven met CoTaskMemFree- wanneer deze niet meer worden gebruikt.

Foutafhandeling

Fouten worden geretourneerd als HRESULTs. IErrorInfo en ISupportErrorInfo worden niet ondersteund in deze API. Fouten zijn niet bijzonder effectief, behalve bij onjuiste argumenten.

Standaard RPC-foutcodes kunnen door een van de API-aanroepen worden geretourneerd omdat ze out-of-proc zijn. Er zijn standaard-RPC-time-outs van toepassing.

Veiligheid

De API voor spellingcontrole kan externe code laden (spellingcontrole-providers). Deze code wordt uitgevoerd "out-of-proc" en onder een beperkte beveiligingscontext.

Woordenlijstbestanden

De gebruikersspecifieke woordenlijsten voor een taal, die de inhoud voor de woordenlijsten Toegevoegd, Uitgesloten en AutoCorrectie bevatten, bevinden zich onder %AppData%taaltag \Microsoft\Spelling\<taaltag>. De bestandsnamen zijn default.dic (toegevoegd), default.exc (uitgesloten) en default.acl (AutoCorrectie). De bestanden zijn UTF-16 LE plaintext die moet beginnen met de juiste Byte Order Mark (BOM). Elke regel bevat een woord (in de lijsten toegevoegd en uitgesloten woorden) of een autocorrectiepaar met de woorden gescheiden door een verticale balk (|) (in de AutoCorrectie-woordenlijst). Andere .dic-, .exc- en .acl-bestanden die aanwezig zijn in de map, worden gedetecteerd door de spellingcontroleservice en toegevoegd aan de gebruikerswoordlijsten. Deze bestanden worden als alleen-lezen beschouwd en worden niet gewijzigd door de spellingcontrole-API.

Een provider voor spellingcontrole installeren

De installatie van een provider voor spellingcontrole moet alle bestanden plaatsen die worden gebruikt op een locatie die leestoegang van de SID (beveiligings-id) "ALLE TOEPASSINGSPAKKETTEN" toestaat. Het installeren ervan in een map onder 'Program Files' werkt goed. Bovendien moet de provider een aantal sleutels in het register instellen zodat deze wordt weergegeven in de spellingcontrole-API. Het kan staan in de HKEY_CURRENT_USER hive of de HKEY_LOCAL_MACHINE hive, afhankelijk van of het alleen moet worden geïnstalleerd voor de huidige gebruiker of voor alle gebruikers.

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>

Het voorbeeld van de spellingcontroleprovider geeft een voorbeeld van de registratie die nodig is om een provider te installeren.

Als u nieuwe spellingcontroleopties voor een provider voor spellingcontrole maakt, raadpleegt u IOptionDescription::Id voor hulp bij naamgeving.

spellingcontrole-API Referentie

voorbeeld van spellingcontroleclient

Voorbeeld van spellingcontroleprovider

IOptionDescription::Id

IEnumString

QueryInterface