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
ERROR_INVALID_PARAMETER
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

Confira também

Globalalloc

Loadstring

Visão geral do RAS (Serviço de Acesso Remoto)

Funções do serviço de acesso remoto