Compartilhar via


ISpLexicon::AddPronunciation

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

Este método adiciona pronúncias palavra e partes da fala (POS) para o usuário léxico. SAPI não modificará a palavra se ortográfico, pronúncia e Pos forem o mesmo como uma entrada existente no léxico de usuário. Uma palavra pode ser adicionada sem pronúncia passando em NULL in a pszPronunciation parâmetro.

Syntax

HRESULT AddPronunciation(
  const WCHAR* pszWord,
  LANGID LangID,
  SPPARTOFSPEECH ePartOfSpeech,
  const SPPHONEID* pszPronunciation
);

Parameters

  • pszWord
    [no] Ponteiro para a palavra para adicionar.
  • LangID
    [no] Identificador de idioma da palavra. O usar como padrão usuário de fala será usado se LangID é omitido. Comprimento deve ser igual ou menor que SP_MAX_WORD_LENGTH.
  • ePartOfSpeech
    [no] Parte da fala. Valores possíveis são definidos pelo SPPARTOFSPEECH ) enumeração.
  • pszPronunciation
    [no] Ponteiro para a pronúncia da palavra no telefone NUM terminada por caractere nulo definido. Várias pronúncias podem ser adicionadas para uma única palavra. O comprimento deve ser igual ou menor que SP_MAX_PRON_LENGTH. pszPronunciation pode ser NULL para indicar não pronúncia.

Return Value

A seguinte tabela mostra os valores possíveis de retorno.

Value Description

S_OK

Function completed successfully.

E_INVALIDARG

Pelo menos um dos parâmetros é inválido ou incorreto.

SP_ALREADY_IN_LEX

Mesma pronúncia da palavra já existe no léxico de usuário.

SPERR_APPLEX_READ_ONLY

Não é possível adicionar uma palavra para aplicativo léxico.

SPERR_UNINITIALIZED

A interface não foi inicializada.

E_OUTOFMEMORY

Disponível excedido memória.

FAILED(hr)

Mensagem de erro apropriadas

Remarks

Consulte a documentação no ISpPhoneConverter Para obter mais informações nos conjuntos de telefone.

Example

A seguinte é um exemplo deste método.

HRESULT hr;
CComPtr cpLexicon;
hr = cpLexicon.CoCreateInstance(CLSID_SpLexicon);
// 0x409 for English
LANGID langidUS = MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US);
CComPtr cpPhoneConv;
SPPHONEID wszId[SP_MAX_PRON_LENGTH];
if(SUCCEEDED(hr))
{
    hr = SpCreatePhoneConverter(langidUS, NULL, NULL, &cpPhoneConv);
}
    if(SUCCEEDED(hr))
{
    hr = cpPhoneConv->PhoneToId(L"r eh d", wszId);
}
    if(SUCCEEDED(hr))
{
hr = cpLexicon->AddPronunciation(L"red", langidUS, SPPS_Noun, wszId);

Requirements

Header sapi.h, sapi.idl
Library sapilib.lib
Windows Embedded CE Windows CE .NET 4.1 and later

See Also

Reference

ISpLexicon
SAPI Interfaces