Función IsDBCSLeadByteEx (winnls.h)

Determina si un carácter especificado es potencialmente un byte inicial. Un byte inicial es el primer byte de un carácter de dos bytes en un juego de caracteres de doble byte (DBCS) para la página de códigos.

Sintaxis

BOOL IsDBCSLeadByteEx(
  [in] UINT CodePage,
  [in] BYTE TestChar
);

Parámetros

[in] CodePage

Identificador de la página de códigos usada para comprobar los intervalos de bytes principales. Este parámetro puede ser uno de los identificadores de página de códigos definidos en Constantes Unicode y Juego de caracteres o uno de los siguientes valores predefinidos. Esta función valida los valores de bytes principales solo en las páginas de códigos 932, 936, 949, 950 y 1361.

Valor Significado
CP_ACP
Use la página de códigos ANSI de Windows predeterminada del sistema.
CP_MACCP
Use la página de códigos de Macintosh predeterminada del sistema.
CP_OEMCP
Use la página de códigos oem predeterminada del sistema.
CP_THREAD_ACP
Use la página de códigos ANSI de Windows para el subproceso actual.

[in] TestChar

Carácter que se va a probar.

Valor devuelto

Devuelve un valor distinto de cero si el byte es un byte principal. La función devuelve 0 si el byte no es un byte inicial o si el carácter es un carácter de un solo byte. Para obtener información de error extendida, la aplicación puede llamar a GetLastError.

Comentarios

Nota Esta función no valida la presencia o validez de un byte final. Por lo tanto, MultiByteToWideChar podría no reconocer una secuencia que la aplicación con IsDBCSLeadByte informa como byte principal. La aplicación se puede desincronizar fácilmente con los resultados de MultiByteToWideChar, lo que puede provocar errores inesperados o errores de coincidencia de tamaño de búfer.
 
En general, en lugar de intentar manipular de bajo nivel los datos de la página de códigos, las aplicaciones deben usar MultiByteToWideChar para convertir los datos en UTF-16 y trabajar con ellos en esa codificación.

Los valores de bytes principales son específicos de cada DBCS distinto. Algunos valores de bytes pueden aparecer en una sola página de códigos como byte inicial y final de un carácter DBCS. Por lo tanto, IsDBCSLeadByteEx solo puede indicar un valor de byte potencial.

Para tener sentido de una cadena DBCS, una aplicación se inicia normalmente al principio de la cadena y examina hacia delante, realizando un seguimiento cuando encuentra un byte inicial y tratando el byte siguiente como la parte final del mismo carácter. Para realizar una copia de seguridad, la aplicación debe usar CharPrevExA en lugar de intentar desarrollar su propio algoritmo.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado winnls.h (incluye Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

MultiByteToWideChar

Funciones Unicode y Juego de caracteres

Conjuntos de caracteres y Unicode

WideCharToMultiByte