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 資訊。
值 | 意義 |
---|---|
|
無效的參數已傳遞至 函式。 |
備註
無法事先判斷錯誤訊息字元的確切大小,因此需要緩衝區的大小。 錯誤訊息的大小通常為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 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | ras.h |
程式庫 | Rasapi32.lib |
Dll | Rasapi32.dll |