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 llamarse mediante la funcionalidad de opciones regionales y de idioma de 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 provocar instaciones 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 utilizada al interpretar la información 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 de configuración regional que se va a establecer. Para ver las 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 tener 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 es correcto 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 el 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.

Comentarios

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 ha solicitado explícitamente los cambios. La configuración del Registro no debe cambiarse para 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 la versión ANSI de esta función se usa con un identificador de configuración regional 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. Una configuración regional personalizada podría no tener un único carácter separador uniforme dentro del formato de fecha u 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 Convenciones para prototipos de función.

Requisitos

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

Vea también

GetLocaleInfo

Compatibilidad con idiomas nacionales

Funciones de compatibilidad con idiomas nacionales