RasGetErrorStringA 函数 (ras.h)

RasGetErrorString 函数获取指定 RAS 错误值的错误消息字符串。

语法

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

参数

[in] ResourceId

指定感兴趣的错误值。 这些值由 RAS 函数之一返回:RasError.h 头文件中列出的值。

[out] lpszString

指向接收错误字符串的缓冲区的指针。 此参数不得 NULL

[in] InBufSize

指定由 lpszErrorString指向的缓冲区的大小(以字符为单位)。

返回值

如果函数成功,则返回值 ERROR_SUCCESS

如果函数失败,则返回值是以下错误代码之一或来自 路由和远程访问错误代码 或 Winerror.h 的值。 RasGetErrorString 函数未设置 GetLastError 信息。

价值 意义
ERROR_INVALID_PARAMETER
将无效参数传递到函数中。

言论

无法提前确定错误消息的确切大小,因此需要缓冲区的大小。 错误消息的大小通常为 80 个字符或更少;缓冲区大小为 512 个字符将始终足够。 大小不足的缓冲区会导致 RasGetErrorString 函数失败,返回 ERROR_INSUFFICIENT_BUFFER。 请注意,缓冲区大小以字符而不是字节为单位指定;因此,RasGetErrorString 的 Unicode 版本至少需要 1024 字节缓冲区,以确保每个错误消息都适合。

例子

以下代码获取 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;
}

注意

ras.h 标头将 RasGetErrorString 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows 2000 Professional [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
目标平台 窗户
标头 ras.h
Rasapi32.lib
DLL Rasapi32.dll

另请参阅

GlobalAlloc

LoadString

远程访问服务(RAS)概述

远程访问服务函数