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 Códigos de error de enrutamiento y acceso remoto o Winerror.h. No hay ninguna 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 .

Observaciones

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 generalmente tendrán un tamaño de 80 caracteres o menos; Un tamaño de búfer de 512 caracteres siempre será adecuado. Un búfer de tamaño insuficiente hace que la función RasGetErrorString produzca un error y devuelva ERROR_INSUFFICIENT_BUFFER. Tenga en cuenta que los tamaños de 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 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 neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de ras.h
biblioteca de Rasapi32.lib
DLL de Rasapi32.dll

Consulte también

GlobalAlloc

LoadString

información general del servicio de acceso remoto (RAS)

funciones del servicio de acceso remoto