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 |
---|---|
|
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
Información general sobre el servicio de acceso remoto (RAS)