다음을 통해 공유


RasGetErrorStringA 함수(ras.h)

RasGetErrorString 함수는 지정된 RAS 오류 값에 대한 오류 메시지 문자열을 가져옵니다.

통사론

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

매개 변수

[in] ResourceId

관심 있는 오류 값을 지정합니다. RasError.h 헤더 파일에 나열된 RAS 함수 중 하나에서 반환되는 값입니다.

[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(원격 액세스 서비스) 개요

원격 액세스 서비스 함수