Share via


RasGetErrorStringA-Funktion (ras.h)

Die RasGetErrorString-Funktion ruft eine Fehlermeldungszeichenfolge für einen angegebenen RAS-Fehlerwert ab.

Syntax

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

Parameter

[in] ResourceId

Gibt den relevanten Fehlerwert an. Dies sind Werte, die von einer der RAS-Funktionen zurückgegeben werden: die werte, die in der RasError.h-Headerdatei aufgeführt sind.

[out] lpszString

Zeiger auf einen Puffer, der die Fehlerzeichenfolge empfängt. Dieser Parameter darf nicht NULL sein.

[in] InBufSize

Gibt die Größe des Puffers in Zeichen an, auf den lpszErrorString verweist.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert ERROR_SUCCESS.

Wenn die Funktion fehlschlägt, ist der Rückgabewert einer der folgenden Fehlercodes oder ein Wert aus Routing- und RAS-Fehlercodes oder Winerror.h. Die RasGetErrorString-Funktion legt keine GetLastError-Informationen fest.

Wert Bedeutung
ERROR_INVALID_PARAMETER
Ein ungültiger Parameter wurde an die Funktion übergeben.

Hinweise

Es gibt keine Möglichkeit, im Voraus die genaue Größe einer Fehlermeldung in Zeichen und damit die größe des erforderlichen Puffers zu bestimmen. Fehlermeldungen haben in der Regel eine Größe von mindestens 80 Zeichen. Eine Puffergröße von 512 Zeichen ist immer ausreichend. Ein Puffer mit unzureichender Größe führt dazu, dass die RasGetErrorString-Funktion fehlschlägt und ERROR_INSUFFICIENT_BUFFER zurückgibt. Beachten Sie, dass Puffergrößen in Zeichen und nicht in Bytes angegeben werden. Daher erfordert die Unicode-Version von RasGetErrorString mindestens einen 1024-Byte-Puffer, um sicherzustellen, dass jede Fehlermeldung passt.

Beispiele

Der folgende Code ruft eine Fehlerzeichenfolge für den RAS-Fehler 633 ab.


#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;
}

Hinweis

Der ras.h-Header definiert RasGetErrorString als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile ras.h
Bibliothek Rasapi32.lib
DLL Rasapi32.dll

Weitere Informationen

Globalalloc

LoadString

Ras-Dienst (Ras) – Übersicht

Funktionen des RAS-Diensts