Compartir a través de


Función SetLocaleInfoA (winnls.h)

Establece un elemento de información en la parte de invalidación del usuario de la configuración regional actual. Esta función no establece los valores predeterminados del sistema.

Precaución Dado que esta función modifica los valores de todas las aplicaciones, solo debe llamarla la funcionalidad de opciones regionales y de idioma del Panel de control o una utilidad similar. Si se realiza un cambio internacional en los parámetros del sistema, la aplicación que realiza la llamada debe difundir el mensaje de WM_SETTINGCHANGE para evitar causar inestabilidades en otras aplicaciones.
 

Sintaxis

BOOL SetLocaleInfoA(
  [in] LCID   Locale,
  [in] LCTYPE LCType,
  [in] LPCSTR lpLCData
);

Parámetros

[in] Locale

Para la versión ANSI de la función, el identificador de configuración regional de la configuración regional con la página de códigos usada al interpretar la información de lpLCData. Para la versión Unicode, este parámetro se omite.

Puede usar la macro MAKELCID para crear un identificador de configuración regional o usar uno de los siguientes valores predefinidos.

También se admiten los siguientes identificadores de configuración regional personalizados.

[in] LCType

Tipo de información regional que se va a establecer. Para ver constantes válidas, vea la sección "Constantes usadas en el parámetro LCType de GetLocaleInfo, GetLocaleInfoEx y SetLocaleInfo" de Constantes de información de configuración regional. La aplicación solo puede especificar un valor por llamada, pero puede usar el operador OR binario para combinar LOCALE_USE_CP_ACP con cualquier otra constante.

[in] lpLCData

Puntero a una cadena terminada en NULL que contiene la información de configuración regional que se va a establecer. La información debe estar en el formato específico de la constante especificada. La aplicación usa una cadena Unicode para la versión Unicode de la función y una cadena ANSI para la versión ANSI.

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_ACCESS_DISABLED_BY_POLICY. La directiva de grupo del equipo o del usuario ha prohibido esta operación.
  • ERROR_INVALID_ACCESS. El código de acceso no era válido.
  • 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

Esta función escribe en el Registro, donde establece valores asociados a un usuario determinado en lugar de a una aplicación determinada. Estos valores del Registro afectan al comportamiento de otras aplicaciones ejecutadas por el usuario. Como regla, una aplicación debe llamar a esta función solo cuando el usuario haya solicitado explícitamente los cambios. La configuración del Registro no debe cambiarse por la comodidad de una sola aplicación.

Para el parámetro LCType, la aplicación debe establecer LOCALE_USE_CP_ACP para usar la página de códigos ANSI del sistema operativo en lugar de la página de códigos de configuración regional para la traducción de cadenas.

Cuando se usa la versión ANSI de esta función con un identificador de configuración regional de solo Unicode, la función puede realizarse correctamente porque el sistema operativo usa la página de códigos del sistema. Sin embargo, los caracteres que no están definidos en la página de códigos del sistema aparecen en la cadena como signo de interrogación (?).

A partir de Windows Vista, las constantes LOCALE_SDATE y LOCALE_STIME están obsoletas. No use estas constantes. Use LOCALE_SSHORTDATE y LOCALE_STIMEFORMAT en su lugar. Es posible que una configuración regional personalizada no tenga un único carácter separador uniforme dentro del formato de fecha o hora: por ejemplo, un formato como "12/31, 2006" o "03:56'23" podría ser válido.

Nota

El encabezado winnls.h define SetLocaleInfo como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de winnls.h (incluya Windows.h)
biblioteca de Kernel32.lib
DLL de Kernel32.dll

Consulte también

GetLocaleInfo

de compatibilidad con idiomas nacionales

funciones de compatibilidad con idiomas nacionales