Función LoadStringA (winuser.h)

Carga un recurso de cadena del archivo ejecutable asociado a un módulo especificado y copia la cadena en un búfer con un carácter nulo de terminación o devuelve un puntero de solo lectura al propio recurso de cadena.

Sintaxis

int LoadStringA(
  [in, optional] HINSTANCE hInstance,
  [in]           UINT      uID,
  [out]          LPSTR     lpBuffer,
  [in]           int       cchBufferMax
);

Parámetros

[in, optional] hInstance

Tipo: HINSTANCE

Identificador de una instancia del módulo cuyo archivo ejecutable contiene el recurso de cadena. Para obtener el identificador de la propia aplicación, llame a la función GetModuleHandle con NULL.

[in] uID

Tipo: UINT

Identificador de la cadena que se va a cargar.

[out] lpBuffer

Tipo: LPTSTR

Búfer que se va a recibir la cadena. Debe tener al menos caracteres cchBufferMax de tamaño.

[in] cchBufferMax

Tipo: int

Tamaño del búfer, en caracteres. La cadena se trunca y finaliza en null si es mayor que el número de caracteres especificado. Este parámetro no puede ser cero.

Valor devuelto

Tipo: int

Si la función se ejecuta correctamente, el valor devuelto es el número de caracteres copiados en el búfer, no incluido el carácter nulo de terminación.

Si el recurso de cadena no existe, el valor devuelto es cero.

Para obtener información de error extendida, llame a GetLastError.

Comentarios

A diferencia de la función LoadStringW , la función LoadStringA no admite pasar un valor de cero para cchBufferMax. Si lo hace, se dañará la memoria.

Comentarios de seguridad

El uso incorrecto de esta función puede poner en peligro la seguridad de la aplicación. El uso incorrecto incluye especificar el tamaño incorrecto en el parámetro cchBufferMax . Por ejemplo, si lpBuffer apunta a un búfer szBuffer que se declara como TCHAR szBuffer[100], entonces sizeof(szBuffer) proporciona el tamaño del búfer en bytes, lo que podría provocar un desbordamiento de búfer para la versión Unicode de la función. Las situaciones de desbordamiento del búfer son la causa de muchos problemas de seguridad en las aplicaciones. En este caso, usar sizeof(szBuffer)/sizeof(TCHAR) o sizeof(szBuffer)/sizeof(szBuffer[0]) proporcionaría el tamaño adecuado del búfer.

Ejemplos

Para obtener un ejemplo, vea Crear una ventana secundaria.

Nota:

El encabezado winuser.h define LoadString como un 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 neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

   
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 winuser.h (incluya Windows.h)
Library User32.lib
Archivo DLL User32.dll

Consulte también

Conceptual

FormatMessage

LoadAccelerators

LoadBitmap

LoadCursor

LoadIcon

LoadMenu

LoadMenuIndirect

Otros recursos

Referencia

Cadenas