DWORD RasGetErrorString(
_In_ UINT uErrorValue,
_Out_ LPTSTR lpszErrorString,
_In_ DWORD cBufSize
);
说明
根据RAS错误代码获取错误描述内容。
参数
uErrorValue [in]
指定RAS错误码,在RasError.h文件中定义。
lpszErrorString [out]
指向一个缓冲用于接收错误描述字符串,该参数不能为空。
cBufSize [in]
指示lpszErrorString指向的缓冲最大容纳的字符数。
返回值
成功时返回ERROR_SUCCESS。
失败时返回以下列表中的值之一或来自Routing and Remote Access Error Codes或Winerror.h中定义的错误码。该函数失败时无法通过GetLastError函数获取信息。
值 | 含义 |
---|---|
ERROR_INVALID_PARAMETER | 参数错误。 |
注意事项
没有办法事件知道获取某个错误描述字符串需要多少字节长度。错误消息字符串通常不会 超过80个字符。传入一个字符长度为512的缓冲已足够使用。如果缓冲长度不足会导致该函数调用失败并且返回ERROR_INVALID_PARAMETER错误。注意cBufSize参数是字符长度而非字节长度,因此对于Unicode版本,实际需要传入1024字节来保证可以接收到完整的错误描述字符串。
示例
#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;
}
系统支持
客户端最小支持 | Windows 2000 专业版 |
---|---|
服务端最小支持 | Windows 2000 Server |
Header | Ras.h |
Library | Rasapi32.lib |
DLL | Rasapi32.dll |
Unicode和ANSI名称 | RasGetErrorStringW(Unicode)和RasGetErrorStringA(ANSI) |