Função RasGetErrorStringA (ras.h)
A função RasGetErrorString obtém uma cadeia de caracteres de mensagem de erro para um valor de erro RAS especificado.
Sintaxe
DWORD RasGetErrorStringA(
[in] UINT ResourceId,
[out] LPSTR lpszString,
[in] DWORD InBufSize
);
Parâmetros
[in] ResourceId
Especifica o valor de erro de interesse. Esses são valores retornados por uma das funções RAS: aquelas listadas no arquivo de cabeçalho RasError.h.
[out] lpszString
Ponteiro para um buffer que recebe a cadeia de caracteres de erro. Esse parâmetro não deve ser NULL.
[in] InBufSize
Especifica o tamanho, em caracteres, do buffer apontado por lpszErrorString.
Retornar valor
Se a função for bem-sucedida, o valor retornado será ERROR_SUCCESS.
Se a função falhar, o valor retornado será um dos seguintes códigos de erro ou um valor de Códigos de Erro de Roteamento e Acesso Remoto ou Winerror.h. Não há informações de GetLastError definidas pela função RasGetErrorString .
Valor | Significado |
---|---|
|
Um parâmetro inválido foi passado para a função . |
Comentários
Não há como determinar com antecedência o tamanho exato em caracteres de uma mensagem de erro e, portanto, o tamanho do buffer necessário. As mensagens de erro geralmente terão 80 caracteres ou menos de tamanho; um tamanho de buffer de 512 caracteres sempre será adequado. Um buffer de tamanho insuficiente faz com que a função RasGetErrorString falhe, retornando ERROR_INSUFFICIENT_BUFFER. Observe que os tamanhos de buffer são especificados em caracteres, não em bytes; Portanto, a versão Unicode de RasGetErrorString requer pelo menos um buffer de 1024 bytes para garantir que cada mensagem de erro se ajuste.
Exemplos
O código a seguir obtém uma cadeia de caracteres de erro para o erro RAS 633.
#include <windows.h>
#include <stdio.h>
#include "ras.h"
#include "rasdlg.h"
#include <tchar.h>
#define ERROR_VAL 633
#define BUFFER_SIZE 256
DWORD __cdecl wmain(){
DWORD dwRetVal = ERROR_SUCCESS;
UINT uErrorValue = ERROR_VAL;
DWORD cBufSize = BUFFER_SIZE;
WCHAR lpszErrorString[BUFFER_SIZE];
dwRetVal = RasGetErrorString(uErrorValue, lpszErrorString, cBufSize);
if(dwRetVal == ERROR_SUCCESS){
wprintf(L"Error Code %d: %s\n", uErrorValue, lpszErrorString);
}else{
wprintf(L"RasGetErrorString failed, Return Value: %d", dwRetVal);
}
return 0;
}
Observação
O cabeçalho ras.h define RasGetErrorString 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
Requisito | Valor |
---|---|
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 | ras.h |
Biblioteca | Rasapi32.lib |
DLL | Rasapi32.dll |