Función GetStringTypeW (stringapiset.h)
Nota
Esta API puede tener información incompleta o obsoleta para determinados caracteres Unicode, especialmente las del intervalo complementario. Para obtener información de tipo de caracteres Unicode más precisa y completa, considere la posibilidad de usar API de ICU equivalentes, como u_charType, u_islower, u_isspacey u_ispunct. Para obtener instrucciones sobre cómo usar las API de ICU en Windows, consulte Introducción a ICU en Windows.
Recupera información de tipo de carácter para los caracteres de la cadena de origen Unicode especificada. Para cada carácter de la cadena, la función establece uno o varios bits en el elemento de 16 bits correspondiente de la matriz de salida. Cada bit identifica un tipo de carácter determinado, por ejemplo, letra, dígito o ninguno.
Sintaxis
BOOL GetStringTypeW(
[in] DWORD dwInfoType,
[in] _In_NLS_string_(cchSrc)LPCWCH lpSrcStr,
[in] int cchSrc,
[out] LPWORD lpCharType
);
Parámetros
[in] dwInfoType
Marcas que especifican la información del tipo de carácter que se va a recuperar. Este parámetro puede tener los siguientes valores. Los tipos de caracteres se dividen en diferentes niveles, tal como se describe en la sección Comentarios.
Bandera | Significado |
---|---|
|
Recuperar información de tipo de carácter. |
|
Recuperar información de diseño bidireccional. |
|
Recuperar información de procesamiento de texto. |
[in] lpSrcStr
Puntero a la cadena Unicode para la que se van a recuperar los tipos de caracteres. Se supone que la cadena está terminada en null si cchSrc se establece en cualquier valor negativo.
[in] cchSrc
Tamaño, en caracteres, de la cadena indicada por lpSrcStr. Si el tamaño incluye un carácter nulo de terminación, la función recupera información de tipo de carácter para ese carácter. Si la aplicación establece el tamaño en un entero negativo, se supone que la cadena de origen está terminada en null y la función calcula automáticamente el tamaño con un carácter adicional para la terminación nula.
[out] lpCharType
Puntero a una matriz de valores de 16 bits. La longitud de esta matriz debe ser lo suficientemente grande como para recibir un valor de 16 bits para cada carácter de la cadena de origen. Si cchSrc no es un número negativo, lpCharType debe ser una matriz de palabras con elementos cchSrc. Si cchSrc se establece en un número negativo, lpCharType es una matriz de palabras con lpSrcStr + 1 elementos. Cuando la función devuelve, esta matriz contiene una palabra correspondiente a cada carácter de la cadena de origen.
Valor devuelto
Devuelve un valor distinto de cero si se ejecuta correctamente o 0 de lo contrario. Para obtener información de error extendida, la aplicación puede llamar a GetLastError, que puede devolver uno de los siguientes códigos de error:
- ERROR_INVALID_FLAGS. Los valores proporcionados para las marcas no eran válidos.
- ERROR_INVALID_PARAMETER. Cualquiera de los valores de parámetro no era válido.
Observaciones
Para obtener información general sobre el uso de las funciones de cadena, consulte Strings.
Los valores de los parámetros de lpSrcStr y lpCharType no deben ser los mismos. Si son iguales, se produce un error en la función con ERROR_INVALID_PARAMETER.
Esta función no usa el parámetro de configuración regional
tipos de caracteres admitidos
Los bits de tipo de carácter se dividen en varios niveles. La información de un nivel se puede recuperar mediante una sola llamada a esta función. Cada nivel está limitado a 16 bits de información para que las demás funciones de asignación, que están limitadas a 16 bits de representación por carácter, también pueden devolver información de tipo de carácter.
Ctype 1
Estos tipos admiten funciones de escritura de caracteres ANSI C y POSIX (LC_CTYPE). Se recupera un OR bit a bit de estos valores en la matriz del búfer de salida cuando dwInfoType se establece en CT_CTYPE1. En el caso de las configuraciones regionales de DBCS, los atributos de tipo se aplican tanto a caracteres estrechos como a caracteres anchos. Los caracteres hiragana y katakana japoneses, y todos los caracteres ideógrafos kanji tienen el atributo C1_ALPHA.
Nombre | Valor | Significado |
---|---|---|
C1_UPPER | 0x0001 | Mayúsculo |
C1_LOWER | 0x0002 | Minúscula |
C1_DIGIT | 0x0004 | Dígitos decimales |
C1_SPACE | 0x0008 | Caracteres de espacio |
C1_PUNCT | 0x0010 | Puntuación |
C1_CNTRL | 0x0020 | Caracteres de control |
C1_BLANK | 0x0040 | Caracteres en blanco |
C1_XDIGIT | 0x0080 | Dígitos hexadecimales |
C1_ALPHA | 0x0100 | Cualquier carácter lingüístico: alfabético, silabario o ideográfico |
C1_DEFINED | 0x0200 | Carácter definido, pero no uno de los otros tipos de C1_* |
Los siguientes tipos de caracteres son constantes o computables a partir de tipos básicos y no necesitan ser compatibles con esta función.
Tipo | Descripción |
---|---|
Alfanumérico | Caracteres alfabéticos y dígitos (C1_ALPHA y C1_DIGIT) |
Imprimible | Caracteres gráficos y espacios en blanco (todos los tipos C1_* excepto C1_CNTRL) |
Ctype 2
Estos tipos admiten el diseño adecuado del texto Unicode. En el caso de las configuraciones regionales de DBCS, el tipo de carácter se aplica a caracteres estrechos y anchos. Los atributos de dirección se asignan para que el algoritmo de diseño bidireccional estandarizado por Unicode genere resultados precisos. Estos tipos son mutuamente excluyentes. Para obtener más información sobre el uso de estos atributos, vea The Unicode Standard.
Nombre | Valor | Significado |
---|---|---|
Fuerte | ||
C2_LEFTTORIGHT | 0x0001 | De izquierda a derecha |
C2_RIGHTTOLEFT | 0x0002 | Derecha a izquierda |
Débil | ||
C2_EUROPENUMBER | 0x0003 | Número europeo, dígito europeo |
C2_EUROPESEPARATOR | 0x0004 | Separador numérico europeo |
C2_EUROPETERMINATOR | 0x0005 | Terminador numérico europeo |
C2_ARABICNUMBER | 0x0006 | Número árabe |
C2_COMMONSEPARATOR | 0x0007 | Separador numérico común |
Neutral | ||
C2_BLOCKSEPARATOR | 0x0008 | Separador de bloques |
C2_SEGMENTSEPARATOR | 0x0009 | Separador de segmentos |
C2_WHITESPACE | 0x000A | Espacio en blanco |
C2_OTHERNEUTRAL | 0x000B | Otros neutrales |
No aplicable | ||
C2_NOTAPPLICABLE | 0x0000 | Sin direccionalidad implícita (por ejemplo, códigos de control) |
Ctype 3
Estos tipos están diseñados para ser marcadores de posición para las extensiones a los tipos POSIX necesarios para el procesamiento de texto general o para las funciones estándar de la biblioteca de C. Se recupera un OR bit a bit de estos valores cuando dwInfoType se establece en CT_CTYPE3. En el caso de las configuraciones regionales de DBCS, los atributos Ctype 3 se aplican tanto a caracteres estrechos como a caracteres anchos. Los caracteres hiragana y katakana japoneses, y los caracteres ideógrafos kanji tienen el atributo C3_ALPHA.
Nombre | Valor | Significado |
---|---|---|
C3_NONSPACING | 0x0001 | Marca sin espaciado |
C3_DIACRITIC | 0x0002 | Marca sin espaciado diacrítico |
C3_VOWELMARK | 0x0004 | Marca de no espaciado de vocal |
C3_SYMBOL | 0x0008 | Símbolo |
C3_KATAKANA | 0x0010 | Carácter katakana |
C3_HIRAGANA | 0x0020 | Carácter Hiragana |
C3_HALFWIDTH | 0x0040 | Carácter de ancho medio (estrecho) |
C3_FULLWIDTH | 0x0080 | Carácter de ancho completo (ancho) |
C3_IDEOGRAPH | 0x0100 | Carácter ideográfico |
C3_KASHIDA | 0x0200 | Carácter árabe kashida |
C3_LEXICAL | 0x0400 | Puntuación que se cuenta como parte de la palabra (kashida, guion, indicadores ordinales femeninos/masculinos, signo igual, etc.) |
C3_ALPHA | 0x8000 | Todos los caracteres lingüísticos (alfabéticos, silabarios e ideográficos) |
C3_HIGHSURROGATE | 0x0800 | Windows Vista: unidad de código suplente alto |
C3_LOWSURROGATE | 0x1000 | Windows Vista: unidad de código suplente baja |
No aplicable | ||
C3_NOTAPPLICABLE | 0x0000 | No aplicable |
C3_HIGHSURROGATE y C3_LOWSURROGATE solo aparecen por integridad y nunca se deben proporcionar a esta función. Solo son relevantes para Unicode.
a partir de Windows 8: GetStringTypeW se declara en Stringapiset.h. Antes de Windows 8, se declaró en Winnls.h.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP] |
servidor mínimo admitido | Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP] |
de la plataforma de destino de |
Windows |
encabezado de |
stringapiset.h (incluya Windows.h) |
biblioteca de |
Kernel32.lib |
DLL de |
Kernel32.dll |