Compartilhar via


Sobre a API de Verificação Ortográfica

Para usuários em todo o mundo, a entrada textual faz parte de uma experiência de computação moderna, para blogs, comentários, tweets, mensagens instantâneas ou qualquer outro tipo de digitação de texto. Em Windows 8, a verificação ortográfica é interna para editar controles.

Os desenvolvedores podem usar a API de verificação ortográfica em seus aplicativos para consumir os serviços de verificação ortográfica disponíveis. Os desenvolvedores também podem criar verificadores ortográficos que se tornam provedores e são integrados à estrutura de verificação ortográfica do Windows.

A API de Verificação Ortográfica foi projetada para ser usada por desenvolvedores profissionais do C/C++ de aplicativos COM (Modelo de Objeto de Componente) do Windows. Não há suporte para a API de Verificação Ortográfica para uso em um serviço windows ou ASP.NET.

Controle de versão

A API de Verificação Ortográfica está disponível a partir do Windows 8 ou Windows Server 2012. As adições futuras à API serão tratadas criando novas interfaces que podem ser determinadas usando QueryInterface nas existentes.

Interfaces

Todas as interfaces devem ser liberadas quando não forem mais usadas. Todas as cadeias de caracteres LPWSTR retornadas (parâmetro out) (e itens LPOLESTR de IEnumString) devem ser liberadas com CoTaskMemFree quando não forem mais usadas.

Tratamento de erros

Os erros são retornados como HRESULTs. Não há suporte para IErrorInfo e ISupportErrorInfo nesta API. Os erros não são particularmente acionáveis, exceto para argumentos incorretos.

Os códigos de erro RPC padrão podem ser retornados por qualquer uma das chamadas à API porque estão fora do processo. Os tempos limite de RPC padrão se aplicam.

Segurança

A API de Verificação Ortográfica pode carregar código externo (provedores de marcar ortográfico). Ele executará esse código fora do processo e em um contexto de segurança restrito.

Arquivos de dicionário

Os dicionários específicos do usuário para um idioma, que contém o conteúdo das listas de palavras Adicionadas, Excluídas e AutoCorreção, estão localizados em %AppData%\Microsoft\Spelling\<language tag>. Os nomes de arquivo são default.dic (Added), default.exc (Excluded) e default.acl (AutoCorreção). Os arquivos são texto sem formatação UTF-16 LE que devem começar com a BOM (Marca de Ordem de Byte) apropriada. Cada linha contém uma palavra (nas listas de palavras Adicionadas e Excluídas) ou um par de autocorreção com as palavras separadas por uma barra vertical ("|") (na lista de palavras AutoCorreção). Outros arquivos .dic, .exc e .acl presentes no diretório serão detectados pelo serviço de verificação ortográfica e adicionados às listas de palavras do usuário. Esses arquivos são considerados somente leitura e não são modificados pela API de verificação ortográfica.

Instalando um provedor de verificação ortográfica

A instalação de um provedor de verificação ortográfica deve colocar todos os arquivos que ele usa em um local que permita o acesso de leitura do SID (identificador de segurança) "TODOS OS PACOTES DE APLICATIVOS". Instalá-lo em uma pasta em "Arquivos de Programas" funciona bem. Além disso, o provedor deve definir algumas chaves no Registro para que ele apareça na API de verificação ortográfica. Ele pode estar no hive HKEY_CURRENT_USER ou no hive HKEY_LOCAL_MACHINE, dependendo se ele deve ser instalado apenas para o usuário atual ou para todos os usuários.

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>

O exemplo do provedor de verificação ortográfica fornece um exemplo do registro necessário para instalar um provedor.

Se você estiver criando novas opções de verificação ortográfica para um provedor de verificação ortográfica, consulte IOptionDescription::Id para obter diretrizes sobre nomenclatura.

Referência da API de Verificação Ortográfica

Exemplo de cliente de verificação ortográfica

Exemplo do provedor de verificação ortográfica

IOptionDescription::Id

Ienumstring

QueryInterface