RasGetErrorStringA, fonction (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 de 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 être NULL.
[in] InBufSize
Spécifie la taille, en caractères, de la mémoire tampon pointée par lpszErrorString.
Valeur de retour
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 de Codes d’erreur d’acheminement et d’accès à distance ou Winerror.h. Il n’existe aucune information GetLastError définie par la fonction RasGetErrorString.
Valeur | Signification |
---|---|
|
Un paramètre non valide a été passé dans 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 par conséquent la taille de la mémoire tampon requise. Les messages d’erreur sont généralement de 80 caractères ou moins de taille ; une taille de mémoire tampon de 512 caractères sera toujours adéquate. Une mémoire tampon de taille insuffisante entraîne l’échec de la fonction RasGetErrorString, en retournant 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 d’octets 1024 pour garantir que chaque message d’erreur s’adapte.
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;
}
Note
L’en-tête ras.h définit RasGetErrorString en tant qu’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.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
serveur minimum pris en charge | Windows 2000 Server [applications de bureau uniquement] |
plateforme cible | Windows |
d’en-tête | ras.h |
bibliothèque | Rasapi32.lib |
DLL | Rasapi32.dll |
Voir aussi
Vue d’ensemble service d’accès à distance (RAS)