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 의 유니코드 버전에는 모든 오류 메시지가 적합하도록 보장하기 위해 최소 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을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 ras.h
라이브러리 Rasapi32.lib
DLL Rasapi32.dll

추가 정보

GlobalAlloc

LoadString

RAS(원격 액세스 서비스) 개요

원격 액세스 서비스 함수