Функция 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 или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header ras.h
Библиотека Rasapi32.lib
DLL Rasapi32.dll

См. также раздел

GlobalAlloc

LoadString

Обзор службы удаленного доступа (RAS)

Функции службы удаленного доступа