Compartilhar via


Função LoadStringA (winuser.h)

Carrega um recurso de cadeia de caracteres do arquivo executável associado a um módulo especificado e copia a cadeia de caracteres em um buffer com um caractere nulo de terminação ou retorna um ponteiro somente leitura para o próprio recurso de cadeia de caracteres.

Sintaxe

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

Parâmetros

[in, optional] hInstance

Tipo: HINSTANCE

Um identificador para uma instância do módulo cujo arquivo executável contém o recurso de cadeia de caracteres. Para obter o identificador para o próprio aplicativo, chame a função GetModuleHandle com NULL.

[in] uID

Tipo: UINT

O identificador da cadeia de caracteres a ser carregada.

[out] lpBuffer

Tipo: LPTSTR

O buffer para receber a cadeia de caracteres. Deve ter pelo menos caracteres cchBufferMax de tamanho.

[in] cchBufferMax

Tipo: int

O tamanho do buffer, em caracteres. A cadeia de caracteres será truncada e terminada em nulo se for maior que o número de caracteres especificado. Esse parâmetro não pode ser zero.

Retornar valor

Tipo: int

Se a função for bem-sucedida, o valor retornado será o número de caracteres copiados para o buffer, sem incluir o caractere nulo de terminação.

Se o recurso de cadeia de caracteres não existir, o valor retornado será zero.

Para obter informações de erro estendidas, chame GetLastError.

Comentários

Ao contrário da função LoadStringW , a função LoadStringA não dá suporte à passagem de um valor zero para cchBufferMax. Isso corromperá a memória.

Comentários de segurança

Usar essa função incorretamente pode comprometer a segurança do aplicativo. O uso incorreto inclui especificar o tamanho errado no parâmetro cchBufferMax . Por exemplo, se lpBuffer apontar para um buffer szBuffer que é declarado como TCHAR szBuffer[100], sizeof(szBuffer) fornecerá o tamanho do buffer em bytes, o que pode levar a um estouro de buffer para a versão Unicode da função. Situações de estouro de buffer são a causa de muitos problemas de segurança em aplicativos. Nesse caso, usar sizeof(szBuffer)/sizeof(TCHAR) ou sizeof(szBuffer)/sizeof(szBuffer[0]) daria o tamanho adequado do buffer.

Exemplos

Para obter um exemplo, consulte Criando uma janela filho

Observação

O cabeçalho winuser.h define LoadString como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winuser.h (inclua Windows.h)
Biblioteca User32.lib
DLL User32.dll

Confira também

Conceitual

FormatMessage

LoadAccelerators

Loadbitmap

Loadcursor

Loadicon

LoadMenu

LoadMenuIndirect

Outros recursos

Referência

Cadeias de caracteres