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 |
---|---|
|
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 |