Compartilhar via


MultiByteToWideChar

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Essa função mapeia um seqüência de caracteres para um todo-seqüência de caracteres caractere (Unicode).

O seqüência de caracteres mapeado por essa função não é necessariamente de um multibyte conjunto de caracteres.

Syntax

int MultiByteToWideChar(
  UINT CodePage,
  DWORD dwFlags,
  LPCSTR lpMultiByteStr,
  int cbMultiByte,
  LPWSTR lpWideCharStr,
  int cchWideChar
);

Parameters

  • Codepage
    [no] Página de código seja usado para executar a conversão. Este parâmetro pode receber o valor de qualquer página de código que está instalado ou disponível no sistema.

    A seguinte tabela mostra os valores possíveis.

    Valor Descrição

    CP_ACP

    Página de código ANSI

    CP_MACCP

    Não suportado

    CP_OEMCP

    Página de código OEM

    CP_SYMBOL

    Não suportado

    CP_THREAD_ACP

    Não suportado

    CP_UTF7

    Página de código UTF-7

    CP_UTF8

    Página de código UTF-8

  • dwFlags
    [no] Especifica se deseja converter para precomposed ou composição Wide caracteres se uma composição forma existe, se para Usar caracteres glifo no local do controle caracteres e como lidar com inválido caracteres.

    Você pode especificar uma combinação de constantes as sinalizador mostradas a seguinte tabela.

    Valor Descrição

    MB_COMPOSITE

    Sempre use composição caracteres — ou seja, caracteres na qual um caractere de base e um caractere nonspacing têm valores caractere diferente.

    Não pode ser usado com MB_PRECOMPOSED.

    MB_ERR_INVALID_CHARS

    Se a função encontrar um inválido entrada caractere, ele falhar e GetLastError Retorna ERROR_NO_UNICODE_TRANSLATION.

    MB_PRECOMPOSED

    Sempre use caracteres precomposed — ou seja, caracteres na qual um caractere de base e um caractere nonspacing têm um caractere único valor.

    Essa é a opção de conversão usar como padrão. Não pode ser usado com MB_COMPOSITE.

    MB_USEGLYPHCHARS

    Use caracteres glifo em vez de caracteres controle.

    Uma composição caractere consiste em um caractere de base e um caractere nonspacing, cada um com valores diferentes caractere.

    Um caractere precomposed tem um valor para uma combinação caractere base/nonspacing caractere único.

    Em è o caractere, o e é o caractere de base e a marca circunflexo acentuação é o caractere nonspacing.

    Usar como padrão comportamento a função é converter para a forma precomposed. Se uma forma precomposed não existir, a função tenta converter uma composição forma.

    Os sinalizadores MB_PRECOMPOSED e MB_COMPOSITE são mutuamente exclusivos. O sinalizador MB_USEGLYPHCHARS e o MB_ERR_INVALID_CHARS é possível definir regardless of o estado dos outros sinalizadores.

  • lpMultiByteStr
    [no] Ponteiro para o seqüência de caracteres para ser convertido.
  • cbMultiByte
    [no] Tamanho, em bytes, da seqüência de caracteres apontado pelo lpMultiByteStr parâmetro. Se esse valor é – 1, o seqüência de caracteres será considerado NULL finalizado e o comprimento é calculado automaticamente.
  • lpWideCharStr
    [out] Ponteiro para uma reserva que recebe o seqüência de caracteres convertida.
  • cchWideChar
    [no] Tamanho, em caracteres longa, da reserva apontado pelo lpWideCharStr parâmetro.

    Se esse valor for zero, a função retornará o exigido tamanho do buffer, em caracteres de largura e torna não uso o lpWideCharStr reserva.

Return Value

Número de caracteres de largura gravados a reserva apontado pelo lpWideCharStr Se a função tiver êxito e cchWideChar é diferente de zero.

O exigido tamanho, em caracteres de largura, para uma reserva que possa receber o seqüência de caracteres traduzido se a função tiver êxito e cchWideChar é zero.

Observação

Inclui o valor de retorno o NULL terminação caractere.

Zero indica falha. Para informações de erro estendidas get, chamar GetLastError. Valores possíveis para GetLastError Incluir o seguinte:

  • ERROR_INSUFFICIENT_BUFFER
  • ERROR_INVALID_FLAGS
  • ERROR_INVALID_PARAMETER
  • ERROR_NO_UNICODE_TRANSLATION

Remarks

Se lpMultiByteStr e lpWideCharStr Os ponteiros são os mesmos, o função falhar, e GetLastError Retorna o valor ERROR_INVALID_PARAMETER. A função falhará se MB_ERR_INVALID_CHARS é definida e encontra um inválido caractere no seqüência de caracteres de origem.

Um inválido caractere é um que seria converter o caractere usar como padrão se MB_ERR_INVALID_CHARS não foi definida, mas não é o caractere usar como padrão no seqüência de caracteres de origem, ou quando um byte inicial for encontrado em um seqüência de caracteres e há não válido byte de seguimento para DBCS seqüências. Quando um inválido caractere for localizado e MB_ERR_INVALID_CHARS está definida, a função retornará 0 e conjuntos GetLastError Com o erro ERROR_NO_UNICODE_TRANSLATION.

Requirements

Header winnls.h
Library coredll.lib
Windows Embedded CE Windows CE 1.01 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

Unicode Functions
WideCharToMultiByte
IsDBCSLeadByte

Other Resources