Condividi tramite


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. Questi sono 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 è ERROR_SUCCESS.

Se la funzione ha esito negativo, il valore restituito è uno dei codici di errore seguenti o un valore di Codici di errore di routing e accesso remoto o Winerror.h. Non sono presenti informazioni GetLastError impostate dalla funzione RasGetErrorString .

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

Osservazioni

Non è possibile determinare in anticipo le dimensioni esatte in caratteri di un messaggio di errore e quindi le dimensioni del buffer necessarie. I messaggi di errore in genere saranno di 80 caratteri o un numero inferiore 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 vengono 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.

Esempi

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 non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione ras.h
libreria Rasapi32.lib
dll Rasapi32.dll

Vedere anche

GlobalAlloc

LoadString

Panoramica servizio di accesso remoto (RAS)

funzioni del servizio accesso remoto