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