JET_CBTYP

適用対象: Windows |Windows Server

JET_CBTYP

定数のJET_CBTYP グループは、データベース エンジンが JET_CALLBACK コールバック関数を呼び出すことによってアプリケーションに通知する操作で考えられるすべてのポイントを記述します。 データベース エンジンは、コールバック関数の cbtyp パラメーターでこれらの定数のいずれかを渡します。 この呼び出しでデータベース エンジンによって渡される他のパラメーターの意味は、渡された特定の JET_CBTYP によって異なります。

Windows XP:定数のJET_CBTYPグループは、Windows XP で導入されています。

定数/値

説明

JET_cbtypNull
0x00000000

このコールバックは予約されており、常に無効と見なされます。

JET_cbtypFinalize
0x00000001

このコールバックは、今後使用するために予約されています。

JET_cbtypBeforeInsert
0x00000002

このコールバックは、 JetUpdate の呼び出しによって新しいレコードがテーブルに挿入される直前に発生します。

このコールバック理由の関数ポインターは、JET_TABLECREATEによって JetCreateTableColumnIndex に渡されるか、JetRegisterCallback によって実行時に構成されます。 詳細については、「 JET_TABLECREATE 」または 「JetRegisterCallback」を参照してください。

コールバック パラメーターには、次の値があります。

  • sesid: 挿入するレコードを含むセッション。

  • dbid: 挿入するレコードを含むテーブルのデータベース ID。

  • tableid: 挿入する新しいレコードを準備したカーソル。 現時点では、任意のバージョンまたは自動インクリメント列の値が正しくない可能性があることに注意してください。

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: JetRegisterCallback または NULL に渡されるコンテキスト ポインター。

  • ulUnused: NULL コールバック によってエラーが返された場合、コールバックの発生元の操作は、そのエラーで失敗します。

JET_cbtypAfterInsert
0x00000004

このコールバックは、 JetUpdate の呼び出しによって新しいレコードがテーブルに挿入された直後、 JetUpdate が呼び出し元に戻る前に発生します。

このコールバック理由の関数ポインターは、JET_TABLECREATEによって JetCreateTableColumnIndex に渡されるか、JetRegisterCallback によって実行時に構成されます。 詳細については、「 JET_TABLECREATE 」または 「JetRegisterCallback」を参照してください。

コールバック パラメーターには、次の値があります。

  • sesid: 挿入したばかりのレコードを含むセッション。

  • dbid: 挿入したばかりのレコードを含むテーブルのデータベース ID。

  • tableid: 先ほど挿入したレコードが挿入されたテーブル上のカーソル。 カーソルは、挿入前のコールバックと同じインデックス エントリに配置されることに注意してください。 さらに、このインデックス エントリは、挿入されるレコードとは関係がない可能性があることに注意してください。

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: JetRegisterCallback または NULL に渡されるコンテキスト ポインター。

  • ulUnused: NULL コールバックによってエラーが返された場合は無視されます。

JET_cbtypBeforeReplace
0x00000008

このコールバックは、 JetUpdate の呼び出しによってテーブル内の既存のレコードが変更される直前に発生します。

このコールバック理由の関数ポインターは、JET_TABLECREATEによって JetCreateTableColumnIndex に渡されるか、JetRegisterCallback によって実行時に構成されます。 詳細については、「 JET_TABLECREATE 」または 「JetRegisterCallback」を参照してください。

コールバック パラメーターには、次の値があります。

  • sesid: 変更するレコードを含むセッション。

  • dbid: 変更するレコードを含むテーブルのデータベース ID。

  • tableid: 変更するレコードに関連付けられているインデックス エントリ上に位置するカーソル。 現時点では、任意のバージョンまたは自動インクリメント列の値が正しくない可能性があることに注意してください。

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: JetRegisterCallback または NULL に渡されるコンテキスト ポインター。

  • ulUnused: NULL コールバック によってエラーが返された場合、コールバックの発生元の操作は、そのエラーで失敗します。

JET_cbtypAfterReplace
0x00000010

このコールバックは、 JetUpdate の呼び出しによってテーブル内の既存のレコードが変更された直後に、 JetUpdate が呼び出し元に戻る前に発生します。

このコールバック理由の関数ポインターは、JET_TABLECREATEによって JetCreateTableColumnIndex に渡されるか、JetRegisterCallback によって実行時に構成されます。 詳細については、「 JET_TABLECREATE 」または 「JetRegisterCallback」を参照してください。

コールバック パラメーターには、次の値があります。

  • sesid: 変更されたばかりのレコードを含むセッション。

  • dbid: 変更されたレコードを含むテーブルのデータベース ID。

  • tableid: 変更したばかりのレコードに関連付けられているインデックス エントリ上に位置するカーソル。

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: JetRegisterCallback または NULL に渡されるコンテキスト ポインター。

  • ulUnused: NULL コールバックによってエラーが返された場合は無視されます。

JET_cbtypBeforeDelete
0x00000020

このコールバックは、 JetDelete の呼び出しによってテーブル内の既存のレコードが削除される直前に発生します。

このコールバック理由の関数ポインターは、JET_TABLECREATEによって JetCreateTableColumnIndex に渡されるか、JetRegisterCallback によって実行時に構成されます。 詳細については、「 JET_TABLECREATE 」または 「JetRegisterCallback」を参照してください。

コールバック パラメーターには、次の値があります。

  • sesid: 削除するレコードを持つセッション。

  • dbid: 削除するレコードを含むテーブルのデータベース ID。

  • tableid: 削除するレコードに関連付けられているインデックス エントリ上に位置するカーソル。

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: JetRegisterCallback または NULL に渡されるコンテキスト ポインター。

  • ulUnused: NULL コールバック によってエラーが返された場合、コールバックの発生元の操作は、そのエラーで失敗します。

JET_cbtypAfterDelete
0x00000040

このコールバックは、 JetDelete の呼び出しによってテーブル内の既存のレコードが削除された直後に、 JetDelete が呼び出し元に戻る前に発生します。

このコールバック理由の関数ポインターは、JET_TABLECREATEによって JetCreateTableColumnIndex に渡されるか、JetRegisterCallback によって実行時に構成されます。 詳細については、「 JET_TABLECREATE 」または 「JetRegisterCallback」を参照してください。

コールバック パラメーターには、次の値があります。

  • sesid: 削除したばかりのレコードを含むセッション。

  • dbid: 削除されたレコードを含むテーブルのデータベース ID。

  • tableid: 削除したばかりのレコードに関連付けられているインデックス エントリに位置するカーソル。

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: JetRegisterCallback または NULL に渡されるコンテキスト ポインター。

  • ulUnused: NULL

コールバックによってエラーが返された場合、そのエラーは無視されます。

JET_cbtypUserDefinedDefaultValue
0x00000080

このコールバックは、エンジンがアプリケーションから列のユーザー定義の既定値を取得する必要がある場合に発生します。 このコールバックは、基本的に、アプリケーションによって評価される JetRetrieveColumn の限定的な実装です。 ユーザー定義の既定値には、最大 1 つの列値を返すことができます。

このコールバック理由の関数ポインターは、JET_USERDEFINEDDEFAULT構造体を使用して JetAddColumn に渡されるか、JET_TABLECREATE構造体のJET_COLUMNCREATE構造体のJET_USERDEFINEDDEFAULT構造体によって JetCreateTableColumnIndex に渡されます。

コールバック パラメーターには、次の値があります。

  • sesid: ユーザー定義の既定値を計算しているセッション

  • dbid: ユーザー定義の既定値を含むテーブルのデータベース ID

  • tableid: ユーザー定義の既定値が取得されるレコード上に位置するカーソル

  • pvArg1: ユーザー定義の既定値の出力バッファー

  • pvArg2: 入力時に、これは出力バッファーのサイズです。 出力では、これはユーザー定義の既定値の実際のサイズです。 どちらの場合も、サイズは 32 ビット符号なし整数です。

  • pvContext: 列の作成時に JET_USERDEFINEDDEFAULT 構造体で指定されたユーザー データを含むバッファーへのポインター。コンテキストが指定されていない場合は NULL。

  • ulUnused: ユーザー定義の既定値が取得される列の列 ID。

コールバックによってエラーが返された場合、コールバックを発生させた操作は、そのエラーで失敗します。

コールバックによってJET_wrnBufferTruncatedが返された場合、操作は続行されますが、コールバック中に値全体は取得されません。

コールバックによってJET_wrnColumnNullが返された場合、操作は続行されますが、列のユーザー定義の既定値は NULL です。

JET_cbtypOnlineDefragCompleted
0x00000100

このコールバックは、 JetDefragment によって開始されたデータベースのオンライン最適化が、プロセスの完了または制限時間に達したために停止した場合に発生します。

このコールバック理由の関数ポインターは、 JetDefragment に渡されます。 詳細については、「 JetDefragment」を参照してください。

コールバック パラメーターには、次の値があります。

  • sesid: データベースまたはストリーミング ファイルのJET_sesidNilのオンライン最適化を実行するために使用されるセッション。

  • dbid: 最適化対象のデータベースのデータベース ID。ストリーミング ファイルに対してJET_dbidNil。

  • tableid: JET_tableidNil

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: NULL

  • ulUnused: NULL

コールバックによってエラーが返された場合、そのエラーは無視されます。

JET_cbtypFreeCursorLS
0x00000200

このコールバックは、アプリケーションが、データベース エンジンによって解放されているカーソルに関連付けられているローカル ストレージのコンテキスト ハンドルをクリーンする必要がある場合に発生します。 詳細については、「 JetSetLS」を参照してください。

このコールバック理由の関数ポインターは、 JetSetSystemParameterJET_paramRuntimeCallbackを使用して構成されます。

コールバック パラメーターには、次の値があります。

  • sesid: JET_sesidNil

  • dbid: JET_dbidNil

  • tableid: JET_tableidNil

  • pvArg1: JetSetLS を使用したコンテキスト ハンドル セット

  • pvArg2: NULL

  • pvContext: NULL

  • ulUnused: NULL

コールバックによってエラーが返された場合、そのエラーは無視されます。

JET_cbtypFreeTableLS
0x00000400

このコールバックは、データベース エンジンによって解放されるテーブルに関連付けられているローカル ストレージのコンテキスト ハンドルをアプリケーションがクリーンアップする必要が生じた結果として発生します。 詳細については、「 JetSetLS」を参照してください。

このコールバック理由の関数ポインターは、 JetSetSystemParameterJET_paramRuntimeCallbackを使用して構成されます。

コールバック パラメーターには、次の値があります。

  • sesid: JET_sesidNil

  • dbid: JET_dbidNil

  • tableid: JET_tableidNil

  • pvArg1: JetSetLS を使用して設定されたコンテキスト ハンドル。

  • pvArg2: NULL

  • pvContext: NULL

  • ulUnused: NULL

コールバックによってエラーが返された場合、そのエラーは無視されます。

要件

要件

Client

Windows Vista または Windows XP が必要です。

[サーバー]

Windows Server 2008 または Windows Server 2003 が必要です。

Header

Esent.h で宣言されています。

参照

JET_CALLBACK