Compartir a través de


Función RasGetErrorStringA (ras.h)

La función RasGetErrorString obtiene una cadena de mensaje de error para un valor de error ras especificado.

Sintaxis

DWORD RasGetErrorStringA(
  [in]  UINT  ResourceId,
  [out] LPSTR lpszString,
  [in]  DWORD InBufSize
);

Parámetros

[in] ResourceId

Especifica el valor de error de interés. Estos son los valores devueltos por una de las funciones RAS: las enumeradas en el archivo de encabezado RasError.h.

[out] lpszString

Puntero a un búfer que recibe la cadena de error. Este parámetro no debe ser NULL.

[in] InBufSize

Especifica el tamaño, en caracteres, del búfer al que apunta lpszErrorString.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es ERROR_SUCCESS.

Si se produce un error en la función, el valor devuelto es uno de los siguientes códigos de error o un valor de Enrutamiento y códigos de error de acceso remoto o Winerror.h. No hay información GetLastError establecida por la función RasGetErrorString .

Valor Significado
ERROR_INVALID_PARAMETER
Se pasó un parámetro no válido a la función .

Comentarios

No hay ninguna manera de determinar de antemano el tamaño exacto en caracteres de un mensaje de error y, por tanto, el tamaño del búfer necesario. Los mensajes de error suelen tener 80 caracteres o menos de tamaño; Un tamaño de búfer de 512 caracteres siempre será adecuado. Un búfer de tamaño insuficiente hace que se produzca un error en la función RasGetErrorString y devuelve ERROR_INSUFFICIENT_BUFFER. Tenga en cuenta que los tamaños del búfer se especifican en caracteres, no en bytes; por lo tanto, la versión Unicode de RasGetErrorString requiere al menos un búfer de bytes de 1024 para garantizar que todos los mensajes de error se ajusten.

Ejemplos

El código siguiente obtiene una cadena de error para el error 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;
}

Nota

El encabezado ras.h define RasGetErrorString como un 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 neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado ras.h
Library Rasapi32.lib
Archivo DLL Rasapi32.dll

Consulte también

GlobalAlloc

LoadString

Información general sobre el servicio de acceso remoto (RAS)

Funciones del Servicio de acceso remoto