RasGetErrorStringA 関数 (ras.h)
RasGetErrorString 関数は、指定された RAS エラー値のエラー メッセージ文字列を取得します。
構文
DWORD RasGetErrorStringA(
[in] UINT ResourceId,
[out] LPSTR lpszString,
[in] DWORD InBufSize
);
パラメーター
[in] ResourceId
対象のエラー値を指定します。 RasError.h ヘッダー ファイルに記載されている RAS 関数のいずれかによって返される値です。
[out] lpszString
エラー文字列を受け取るバッファーへのポインター。 このパラメーターは NULL にすることはできません。
[in] InBufSize
lpszErrorString が指すバッファーのサイズを文字数で指定します。
戻り値
関数が成功した場合、戻り値は ERROR_SUCCESS。
関数が失敗した場合、戻り値は次のいずれかのエラー コードか、 ルーティングとリモート アクセスのエラー コード または Winerror.h からの値です。 RasGetErrorString 関数によって設定された GetLastError 情報はありません。
値 | 意味 |
---|---|
|
無効なパラメーターが関数に渡されました。 |
注釈
エラー メッセージの正確なサイズを事前に判断する方法はありません。したがって、必要なバッファーのサイズです。 通常、エラー メッセージのサイズは 80 文字以下です。バッファー サイズは常に 512 文字で十分です。 バッファーのサイズが不十分な場合、 RasGetErrorString 関数が失敗し、 ERROR_INSUFFICIENT_BUFFERが返されます。 バッファー サイズはバイトではなく文字で指定されることに注意してください。したがって、 RasGetErrorString の Unicode バージョンでは、すべてのエラー メッセージが収まることを保証するために、少なくとも 1024 バイトのバッファーが必要です。
例
次のコードは、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;
}
注意
ras.h ヘッダーは、RASGetErrorString をエイリアスとして定義します。このエイリアスは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | ras.h |
Library | Rasapi32.lib |
[DLL] | Rasapi32.dll |