Поделиться через


Функция 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. Сведения GetLastError , заданные функцией RasGetErrorString.

Ценность Значение
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 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка ras.h
библиотеки Rasapi32.lib
DLL Rasapi32.dll

См. также

GlobalAlloc

LoadString

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

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