Partilhar via


Sobre a API de verificação ortográfica

Para usuários em todo o mundo, a entrada de texto 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. No Windows 8, a verificação ortográfica está incorporada nos controlos de edição.

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 uso por desenvolvedores profissionais de C/C++ de aplicativos COM (Component Object Model) do Windows. A API de verificação ortográfica não é suportada para uso em um serviço Windows ou ASP.NET.

Versionamento

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

Interfaces

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

Tratamento de erros

Os erros são retornados como HRESULTs. IErrorInfo e ISupportErrorInfo não são suportados nesta API. Os erros não são particularmente acionáveis, exceto por argumentos incorretos.

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

Segurança

A API de verificação ortográfica pode carregar código externo (provedores de verificação ortográfica). Ele executará esse código fora do proc e sob um contexto de segurança restrito.

Arquivos de dicionário

Os dicionários específicos do utilizador para um idioma, que contêm o conteúdo das listas de palavras Adicionado, Excluído e Autocorreção, estão localizados em %AppData%\Microsoft\Spelling\<tag de idioma>. Os nomes dos arquivos são default.dic (Adicionado), default.exc (Excluído) e default.acl (Autocorreção). Os arquivos são texto sem formatação UTF-16 LE que devem começar com a marca de ordem de bytes (BOM) 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 de AutoCorreção). Outros arquivos .dic, .exc e .acl presentes no diretório serão detetados 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 acesso de leitura a partir 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 para a API de verificação ortográfica. Ele pode estar na HKEY_CURRENT_USER hive ou na HKEY_LOCAL_MACHINE hive dependendo se ele deve ser instalado apenas para o usuário atual ou 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 de 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 orientação sobre nomenclatura.

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

Exemplo de cliente de verificação ortográfica

Exemplo de provedor de verificação ortográfica

IOptionDescription::Id

IEnumString

QueryInterface