共用方式為


JET_CBTYP

適用于: Windows |Windows Server

JET_CBTYP

JET_CBTYP常數群組描述作業中的所有可能點,資料庫引擎會藉由呼叫JET_CALLBACK回呼函式來通知應用程式。 資料庫引擎會在回呼函式的 cbtyp 參數中傳遞其中一個常數。 此呼叫中資料庫引擎所傳遞之其他參數的意義取決於傳遞的特定 JET_CBTYP

Windowsxp:JET_CBTYP常數群組會在 Windows XP 中引進。

常數/值

描述

JET_cbtypNull
0x00000000

此回呼是保留的,且一律視為無效。

JET_cbtypFinalize
0x00000001

此回呼保留供日後使用。

JET_cbtypBeforeInsert
0x00000002

呼叫 JetUpdate將新記錄插入資料表之前,就會發生此回呼。

此回呼原因的函式指標是透過JET_TABLECREATE傳遞至JetCreateTableColumnIndex,或透過JetRegisterCallback在執行時間設定。 如需詳細資訊,請參閱 JET_TABLECREATEJetRegisterCallback

回呼參數會有下列值:

  • sesid:具有要插入之記錄的會話。

  • dbid:包含要插入之記錄之資料表的資料庫識別碼。

  • tableid:已備妥要插入之新記錄的資料指標。 請務必注意,目前任何版本或自動遞增資料行的值可能不正確。

  • pvArg1Null

  • pvArg2Null

  • pvCoNtext:傳遞至 JetRegisterCallbackNull的內容指標。

  • ulUnusedNull 如果回呼傳回錯誤,則產生回呼的作業將會失敗,並出現該錯誤。

JET_cbtypAfterInsert
0x00000004

這個回呼只會在呼叫 JetUpdateJetUpdate 回到其呼叫端之前插入資料表之後發生。

此回呼原因的函式指標是透過JET_TABLECREATE傳遞至JetCreateTableColumnIndex,或透過JetRegisterCallback在執行時間設定。 如需詳細資訊,請參閱 JET_TABLECREATEJetRegisterCallback

回呼參數會有下列值:

  • sesid:具有剛插入之記錄的會話。

  • dbid:包含剛插入之記錄之資料表的資料庫識別碼。

  • tableid:剛插入記錄之資料表上的游標。 請注意,游標仍位於與插入回呼之前位於 相同的索引項目目上。 此外,請注意,此索引項目目可能沒有任何方式與插入的記錄相關。

  • pvArg1Null

  • pvArg2Null

  • pvCoNtext:傳遞至 JetRegisterCallbackNull的內容指標。

  • ulUnusedNull 如果回呼傳回錯誤,則會予以忽略。

JET_cbtypBeforeReplace
0x00000008

這個回呼會在呼叫 JetUpdate變更資料表中的現有記錄之前發生。

此回呼原因的函式指標是透過JET_TABLECREATE傳遞至JetCreateTableColumnIndex,或透過JetRegisterCallback在執行時間設定。 如需詳細資訊,請參閱 JET_TABLECREATEJetRegisterCallback

回呼參數會有下列值:

  • sesid:具有要變更記錄的會話。

  • dbid:包含要變更之記錄之資料表的資料庫識別碼。

  • tableid:資料指標位於與要變更之記錄相關聯的索引項目目上。 請務必注意,目前任何版本或自動遞增資料行的值可能不正確。

  • pvArg1Null

  • pvArg2Null

  • pvCoNtext:傳遞至 JetRegisterCallbackNull的內容指標。

  • ulUnusedNull 如果回呼傳回錯誤,則產生回呼的作業將會失敗,並出現該錯誤。

JET_cbtypAfterReplace
0x00000010

這個回呼會在資料表中的現有記錄被 JetUpdate 呼叫變更之後,但在 JetUpdate 傳回給其呼叫端之前發生。

此回呼原因的函式指標是透過JET_TABLECREATE傳遞至JetCreateTableColumnIndex,或透過JetRegisterCallback在執行時間設定。 如需詳細資訊,請參閱 JET_TABLECREATEJetRegisterCallback

回呼參數會有下列值:

  • sesid:具有剛變更之記錄的會話。

  • dbid:資料表的資料庫識別碼,其中包含剛變更的記錄。

  • tableid:位於與剛變更之記錄相關聯的索引項目目上的資料指標。

  • pvArg1Null

  • pvArg2Null

  • pvCoNtext:傳遞至 JetRegisterCallbackNull的內容指標。

  • ulUnusedNull 如果回呼傳回錯誤,則會予以忽略。

JET_cbtypBeforeDelete
0x00000020

此回呼會在呼叫 JetDelete刪除資料表中的現有記錄之前發生。

此回呼原因的函式指標是透過JET_TABLECREATE傳遞至JetCreateTableColumnIndex,或透過JetRegisterCallback在執行時間設定。 如需詳細資訊,請參閱 JET_TABLECREATEJetRegisterCallback

回呼參數會有下列值:

  • sesid:具有要刪除之記錄的會話。

  • dbid:包含要刪除之記錄之資料表的資料庫識別碼。

  • tableid:資料指標位於與要刪除之記錄相關聯的索引項目目上。

  • pvArg1Null

  • pvArg2Null

  • pvCoNtext:傳遞至 JetRegisterCallbackNull的內容指標。

  • ulUnusedNull 如果回呼傳回錯誤,則產生回呼的作業將會失敗,並出現該錯誤。

JET_cbtypAfterDelete
0x00000040

這個回呼只會在呼叫 JetDeleteJetDelete 回到其呼叫端之前刪除資料表中的現有記錄之後發生。

此回呼原因的函式指標是透過JET_TABLECREATE傳遞至JetCreateTableColumnIndex,或透過JetRegisterCallback在執行時間設定。 如需詳細資訊,請參閱 JET_TABLECREATEJetRegisterCallback

回呼參數會有下列值:

  • sesid:具有剛刪除之記錄的會話。

  • dbid:包含剛刪除之記錄之資料表的資料庫識別碼。

  • tableid:位於與剛刪除之記錄相關聯的索引項目目上的資料指標。

  • pvArg1Null

  • pvArg2Null

  • pvCoNtext:傳遞至 JetRegisterCallbackNull的內容指標。

  • ulUnusedNull

如果回呼傳回錯誤,則會予以忽略。

JET_cbtypUserDefinedDefaultValue
0x00000080

當引擎需要從應用程式擷取資料行的使用者定義預設值時,就會發生此回呼。 此回呼基本上是應用程式評估的 JetRetrieveColumn 有限實作。 使用者定義預設值最多可以傳回一個資料行值。

此回呼原因的函式指標是透過JET_USERDEFINEDDEFAULT結構傳遞至JetAddColumn,或是透過JET_TABLECREATE結構中JET_COLUMNCREATE結構中的JET_USERDEFINEDDEFAULT結構傳遞至JetCreateTableColumnIndex

回呼參數會有下列值:

  • sesid:正在計算使用者定義預設值的會話

  • dbid:包含使用者定義預設值之資料表的資料庫識別碼

  • tableid:資料指標位於要擷取使用者定義預設值的記錄上

  • pvArg1:使用者定義預設值的輸出緩衝區

  • pvArg2:在輸入時,這是輸出緩衝區的大小。 在輸出上,這是使用者定義預設值的實際大小。 不論是哪一種情況,大小都是 32 位不帶正負號的整數。

  • pvCoNtext:當建立資料行時,緩衝區的指標包含 JET_USERDEFINEDDEFAULT 結構中指定的使用者資料,如果沒有提供任何內容,則為 Null。

  • ulUnused:要擷取使用者定義預設值之資料行的資料行識別碼。

如果回呼傳回錯誤,則產生回呼的作業將會失敗,並出現該錯誤。

如果回呼傳回JET_wrnBufferTruncated,作業將會繼續,但不會在回呼期間擷取整個值。

如果回呼會傳回JET_wrnColumnNull,作業將會繼續,但資料行的使用者定義預設值為 Null。

JET_cbtypOnlineDefragCompleted
0x00000100

JetDefragment 起始的資料庫線上重組因進程完成或達到時間限制而停止時,就會發生此回呼。

此回呼原因的函式指標會傳遞至 JetDefragment。 如需詳細資訊,請參閱 JetDefragment

回呼參數會有下列值:

  • sesid:用來針對資料庫執行線上重組的會話,或串流檔案的JET_sesidNil。

  • dbid:正在重組或串流檔案JET_dbidNil之資料庫的資料庫識別碼。

  • tableid:JET_tableidNil

  • pvArg1Null

  • pvArg2Null

  • pvCoNtextNull

  • ulUnusedNull

如果回呼傳回錯誤,則會予以忽略。

JET_cbtypFreeCursorLS
0x00000200

當應用程式需要清除與資料庫引擎所發行資料指標相關聯的本機儲存體內容控制碼時,就會發生此回呼。 如需詳細資訊,請參閱 JetSetLS

此回呼原因的函式指標是利用 JetSetSystemParameter 搭配 JET_paramRuntimeCallback來設定。

回呼參數會有下列值:

  • sesid: JET_sesidNil

  • dbid: JET_dbidNil

  • tableid:JET_tableidNil

  • pvArg1:使用JetSetLS設定的內容控制碼

  • pvArg2Null

  • pvCoNtextNull

  • ulUnusedNull

如果回呼傳回錯誤,則會予以忽略。

JET_cbtypFreeTableLS
0x00000400

由於應用程式需要清除與資料庫引擎所發行之資料表相關聯的本機儲存體內容控制碼,就會發生此回呼。 如需詳細資訊,請參閱 JetSetLS

此回呼原因的函式指標是利用 JetSetSystemParameter 搭配 JET_paramRuntimeCallback來設定。

回呼參數會有下列值:

  • sesid: JET_sesidNil

  • dbid: JET_dbidNil

  • tableid:JET_tableidNil

  • pvArg1:使用 JetSetLS設定的內容控制碼。

  • pvArg2Null

  • pvCoNtextNull

  • ulUnusedNull

如果回呼傳回錯誤,則會予以忽略。

規格需求

需求

用戶端

需要 Windows Vista 或 Windows XP。

Server

需要 Windows Server 2008 或 Windows Server 2003。

標頭

在 Esent.h 中宣告。

另請參閱

JET_CALLBACK