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 comoTCHAR 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
Outros recursos
Referência