共用方式為


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 標頭會根據 UNICODE 預處理器常數的定義,將 RasGetErrorString 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
支援的最低伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平臺 窗戶
標頭 ras.h
連結庫 Rasapi32.lib
DLL Rasapi32.dll

另請參閱

GlobalAlloc

LoadString

遠端存取服務 (RAS) 概觀

遠端訪問服務函式