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 의 유니코드 버전에는 모든 오류 메시지가 적합하도록 보장하기 위해 최소 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 |