Fonction RasGetErrorStringA (ras.h)
La fonction RasGetErrorString obtient une chaîne de message d’erreur pour une valeur d’erreur RAS spécifiée.
Syntaxe
DWORD RasGetErrorStringA(
[in] UINT ResourceId,
[out] LPSTR lpszString,
[in] DWORD InBufSize
);
Paramètres
[in] ResourceId
Spécifie la valeur d’erreur d’intérêt. Il s’agit des valeurs retournées par l’une des fonctions RAS : celles répertoriées dans le fichier d’en-tête RasError.h.
[out] lpszString
Pointeur vers une mémoire tampon qui reçoit la chaîne d’erreur. Ce paramètre ne doit pas avoir la valeur NULL.
[in] InBufSize
Spécifie la taille, en caractères, de la mémoire tampon pointée vers lpszErrorString.
Valeur retournée
Si la fonction réussit, la valeur de retour est ERROR_SUCCESS.
Si la fonction échoue, la valeur de retour est l’un des codes d’erreur suivants ou une valeur provenant des codes d’erreur de routage et d’accès à distance ou de Winerror.h. Aucune information GetLastError n’est définie par la fonction RasGetErrorString .
Valeur | Signification |
---|---|
|
Un paramètre non valide a été passé à la fonction . |
Remarques
Il n’existe aucun moyen de déterminer à l’avance la taille exacte en caractères d’un message d’erreur, et donc la taille de la mémoire tampon requise. La taille des messages d’erreur est généralement inférieure ou égale à 80 caractères ; une taille de mémoire tampon de 512 caractères sera toujours suffisante. Une mémoire tampon de taille insuffisante entraîne l’échec de la fonction RasGetErrorString , ce qui renvoie ERROR_INSUFFICIENT_BUFFER. Notez que les tailles de mémoire tampon sont spécifiées en caractères, et non en octets ; ainsi, la version Unicode de RasGetErrorString nécessite au moins une mémoire tampon de 1024 octets pour garantir que chaque message d’erreur correspond.
Exemples
Le code suivant obtient une chaîne d’erreur pour l’erreur 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;
}
Notes
L’en-tête ras.h définit RasGetErrorString comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | ras.h |
Bibliothèque | Rasapi32.lib |
DLL | Rasapi32.dll |