Funzione RasGetErrorStringA (ras.h)

La funzione RasGetErrorString ottiene una stringa di messaggio di errore per un valore di errore RAS specificato.

Sintassi

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

Parametri

[in] ResourceId

Specifica il valore di errore di interesse. Si tratta di valori restituiti da una delle funzioni RAS: quelle elencate nel file di intestazione RasError.h.

[out] lpszString

Puntatore a un buffer che riceve la stringa di errore. Questo parametro non deve essere NULL.

[in] InBufSize

Specifica le dimensioni, in caratteri, del buffer a cui punta lpszErrorString.

Valore restituito

Se la funzione ha esito positivo, il valore restituito viene ERROR_SUCCESS.

Se la funzione ha esito negativo, il valore restituito è uno dei codici di errore seguenti o un valore di Routing e Remote Access Error Codes o Winerror.h. Non sono disponibili informazioni GetLastErrorimpostate dalla funzione RasGetErrorString .

Valore Significato
ERROR_INVALID_PARAMETER
Nella funzione è stato passato un parametro non valido.

Commenti

Non è possibile determinare in anticipo la dimensione esatta in caratteri di un messaggio di errore e quindi la dimensione del buffer necessaria. I messaggi di errore in genere saranno di 80 caratteri o un minor numero di dimensioni; Una dimensione del buffer di 512 caratteri sarà sempre adeguata. Un buffer di dimensioni insufficienti causa l'esito negativo della funzione RasGetErrorString , restituendo ERROR_INSUFFICIENT_BUFFER. Si noti che le dimensioni del buffer sono specificate in caratteri, non in byte; pertanto, la versione Unicode di RasGetErrorString richiede almeno un buffer di 1024 byte per garantire che ogni messaggio di errore si adatti.

Esempio

Il codice seguente ottiene una stringa di errore per l'errore 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;
}

Nota

L'intestazione ras.h definisce RasGetErrorString come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione ras.h
Libreria Rasapi32.lib
DLL Rasapi32.dll

Vedi anche

Globalalloc

LoadString

Panoramica del servizio accesso remoto (RAS)

Funzioni del Servizio di accesso remoto