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

Voir aussi

GlobalAlloc

LoadString

Vue d’ensemble du service d’accès à distance (RAS)

Fonctions du service d’accès à distance