Compartir a través de


Función LoadStringW (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 LoadStringW(
  [in, optional] HINSTANCE hInstance,
  [in]           UINT      uID,
  [out]          LPWSTR    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 de

El búfer para recibir la cadena (si cchBufferMax es distinto de cero) o un puntero de solo lectura al propio recurso de cadena (si cchBufferMax es cero). Debe tener una longitud suficiente para contener un puntero (8 bytes).

[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 especificados. Si este parámetro es 0, lpBuffer recibe un puntero de solo lectura al propio recurso de cadena.

Valor devuelto

Tipo: int

Si la función se ejecuta correctamente, el valor devuelto es uno de los siguientes:

  • Número de caracteres copiados en el búfer (si cchBufferMax es distinto de cero), no incluido el carácter nulo de terminación.
  • Número de caracteres del recurso de cadena al que lpBuffer apunta (si cchBufferMax es cero). No se garantiza que el recurso de cadena termine en null en la tabla de recursos del módulo y puede usar este valor para determinar dónde finaliza el recurso de cadena.
  • Cero si el recurso de cadena no existe.

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

Observaciones

Si pasa 0 a cchBufferMax para devolver un puntero de solo lectura al recurso de cadena del parámetro lpBuffer, use el número de caracteres del valor devuelto para determinar la longitud del recurso de cadena. No se garantiza que los recursos de cadena terminen en null en la tabla de recursos del módulo. Sin embargo, las tablas de recursos pueden contener caracteres NULL. Los recursos de cadena se almacenan en bloques de 16 cadenas y las ranuras vacías de un bloque se indican mediante caracteres NULL.

Comentarios de seguridad de

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 nBufferMax. 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, el uso de 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 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 winuser.h (incluya Windows.h)
biblioteca de User32.lib
DLL de User32.dll

Consulte también

conceptual de

formatMessage

LoadAccelerators

LoadBitmap

loadCursor

LoadIcon

LoadMenu

loadMenuIndirect

otros recursos

de referencia de

cadenas de