ttUtilGetError

説明

TimesTen Cユーティリティ・ライブラリ関数(ttUtilAllocEnvおよびttUtilFreeEnvを除く)への最後のコールによって生成されたエラーおよび警告を取得します。

必要な権限

なし

構文

ttUtilGetError (ttUtilHandle handle, unsigned int errIndex,
                unsigned int* retCode, ttUtilErrType* retType,
                char* errbuff, unsigned int buffLen,
                unsigned int* errLen)

パラメータ

パラメータ 説明

handle

ttUtilHandle

ttUtilAllocEnvを使用して割り当てられるTimesTenユーティリティ・ライブラリ環境ハンドルを指定します。

errIndex

unsigned int

TimesTenユーティリティ・ライブラリ・エラー配列から取得するエラーまたは警告レコードを指定します。有効な値は次のとおりです。

  • 0: ユーティリティ・ライブラリ・エラー配列から次のレコードを取得します。

  • 1...n: 指定されたレコードをユーティリティ・ライブラリ・エラー配列から取得します。ここで、nttUtilGetErrorCountコールによって返されるエラー・カウントです。

retCode

unsigned int*

tt_errCode.hで定義されているTimesTen固有のエラー・コードまたは警告コードを返します。

retType

ttUtilErrType*

返されたメッセージがエラーまたは警告のいずれであるかを示します。有効な戻り値は、次のとおりです。

  • TTUTIL_ERROR

  • TTUTIL_WARNING

errBuff

char*

これは、エラー・メッセージがある場合に返される、ユーザーが割り当てるバッファです。返されるエラー・メッセージは、空文字で終了する文字列です。エラー・メッセージの長さは、buffLen-1を超えている場合は、切り捨てられてbuffLen-1になります。このパラメータがNULLの場合は、buffLenは無視され、TimesTenによってコール元のアプリケーションにエラー・メッセージが返されることはありません。

buffLen

unsigned int

バッファerrBuffのサイズを指定します。このパラメータが0(ゼロ)の場合、TimesTenはコール元のアプリケーションにエラー・メッセージを返しません。

errLen

unsigned int*

エラー・メッセージの実際の長さが返される、符号なし整数へのポインタ。NULLの場合、TimesTenではこのパラメータは無視されます。

リターン・コード

このユーティリティは、ttutillib.hで定義されている次のコードを返します。

コード 説明

TTUTIL_SUCCESS

成功時に返します。

TTUTIL_INVALID_HANDLE

無効なユーティリティ・ライブラリ・ハンドルが指定されている場合に返します。

TTUTIL_NODATA

エラー情報も警告情報も取得されない場合に返します。

この例では、payrollというDSNに対して、ttDestroyDataStoreをコールした後にすべてのエラー情報または警告情報を取得します。

char            errBuff[256];
int             rc;
unsigned int    retCode;
ttUtilErrType   retType;
ttUtilHandle    utilHandle;

rc = ttDestroyDataStore (utilHandle, "DSN=PAYROLL", 30);
if ((rc == TTUTIL_SUCCESS) 
  printf ("Datastore payroll successfully destroyed.\n");
else if (rc == TTUTIL_INVALID_HANDLE)
  printf ("TimesTen utility library handle is invalid.\n");
else
    while ((rc = ttUtilGetError (utilHandle, 0,
        &retCode, &retType, errBuff, sizeof (errBuff),
        NULL)) != TTUTIL_NODATA)
    {
...
...
}

ノート

各TimesTen C関数は、アプリケーションからの1回のコールで、複数のエラーおよび警告を生成する可能性があります。これらのエラーおよび警告のすべてを取得するには、TTUTIL_NODATAが返されるまで、アプリケーションでttUtilGetErrorを繰り返しコールする必要があります。