JET_CBTYP

Gilt für: Windows | Windows Server

JET_CBTYP

Die JET_CBTYP Gruppe von Konstanten beschreibt alle möglichen Punkte in einem Vorgang, die die Datenbank-Engine eine Anwendung durch Aufrufen der JET_CALLBACK Rückruffunktion benachrichtigt. Die Datenbank-Engine übergibt eine dieser Konstanten im cbtyp-Parameter der Rückruffunktion. Die Bedeutung der anderen Parameter, die von der Datenbank-Engine in diesem Aufruf übergeben werden, hängt von den übergebenen JET_CBTYP ab.

Windows XP: Die JET_CBTYP Gruppe von Konstanten werden in Windows XP eingeführt.

Konstante/Wert

Beschreibung

JET_cbtypNull
0x00000000

Dieser Rückruf ist reserviert und gilt immer als ungültig.

JET_cbtypFinalize
0x00000001

Dieser Rückruf ist für die zukünftige Verwendung reserviert.

JET_cbtypBeforeInsert
0x00000002

Dieser Rückruf erfolgt unmittelbar vor dem Einfügen eines neuen Datensatzes in eine Tabelle durch einen JetUpdate-Aufruf.

Der Funktionszeiger für diesen Rückrufgrund wird entweder mithilfe von JET_TABLECREATE an JetCreateTableColumnIndex übergeben oder zur Laufzeit mithilfe von JetRegisterCallback konfiguriert. Weitere Informationen finden Sie unter JET_TABLECREATE oder JetRegisterCallback.

Die Rückrufparameter weisen die folgenden Werte auf:

  • sesid: Die Sitzung mit dem einzufügenden Datensatz.

  • dbid: Die Datenbank-ID der Tabelle, die den einzufügenden Datensatz enthält.

  • tableid: Der Cursor, der den einzufügenden neuen Datensatz vorbereitet hat. Es ist wichtig zu beachten, dass der Wert aller Versions- oder automatisch inkrementierungsspalten zu diesem Zeitpunkt möglicherweise nicht korrekt ist.

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: Der an JetRegisterCallback oder NULL übergebene Kontextzeiger.

  • ulUnused: NULL Wenn vom Rückruf ein Fehler zurückgegeben wird, schlägt der Für den Rückruf ausgehende Vorgang mit diesem Fehler fehl.

JET_cbtypAfterInsert
0x00000004

Dieser Rückruf erfolgt unmittelbar, nachdem ein neuer Datensatz durch einen Aufruf von JetUpdate in eine Tabelle eingefügt wurde, aber bevor JetUpdate an den Aufrufer zurückkehrt.

Der Funktionszeiger für diesen Rückrufgrund wird entweder mithilfe von JET_TABLECREATE an JetCreateTableColumnIndex übergeben oder zur Laufzeit mithilfe von JetRegisterCallback konfiguriert. Weitere Informationen finden Sie unter JET_TABLECREATE oder JetRegisterCallback.

Die Rückrufparameter weisen die folgenden Werte auf:

  • sesid: Die Sitzung mit dem datensatz, der gerade eingefügt wurde.

  • dbid: Die Datenbank-ID der Tabelle, die den soeben eingefügten Datensatz enthält.

  • tableid: Ein Cursor für die Tabelle, in die der Datensatz eingefügt wurde, der gerade eingefügt wurde. Beachten Sie, dass der Cursor immer noch auf demselben Indexeintrag positioniert ist wie im Rückruf vor dem Einfügen. Beachten Sie außerdem, dass dieser Indexeintrag in keiner Weise mit dem eingefügten Datensatz verknüpft ist.

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: Der an JetRegisterCallback oder NULL übergebene Kontextzeiger.

  • ulUnused: NULL Wenn vom Rückruf ein Fehler zurückgegeben wird, wird er ignoriert.

JET_cbtypBeforeReplace
0x00000008

Dieser Rückruf erfolgt unmittelbar vor einem vorhandenen Datensatz in einer Tabelle, der durch einen JetUpdate-Aufruf geändert wird.

Der Funktionszeiger für diesen Rückrufgrund wird entweder mithilfe von JET_TABLECREATE an JetCreateTableColumnIndex übergeben oder zur Laufzeit mithilfe von JetRegisterCallback konfiguriert. Weitere Informationen finden Sie unter JET_TABLECREATE oder JetRegisterCallback.

Die Rückrufparameter weisen die folgenden Werte auf:

  • sesid: Die Sitzung mit dem zu ändernden Datensatz.

  • dbid: Die Datenbank-ID der Tabelle, die den zu ändernden Datensatz enthält.

  • tableid: Ein Cursor, der auf einem Indexeintrag positioniert ist, der dem zu ändernden Datensatz zugeordnet ist. Es ist wichtig zu beachten, dass der Wert aller Versions- oder automatisch inkrementierungsspalten zu diesem Zeitpunkt möglicherweise nicht korrekt ist.

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: Der an JetRegisterCallback oder NULL übergebene Kontextzeiger.

  • ulUnused: NULL Wenn vom Rückruf ein Fehler zurückgegeben wird, schlägt der Für den Rückruf ausgehende Vorgang mit diesem Fehler fehl.

JET_cbtypAfterReplace
0x00000010

Dieser Rückruf erfolgt unmittelbar, nachdem ein vorhandener Datensatz in einer Tabelle durch einen Aufruf von JetUpdate geändert wurde, aber bevor JetUpdate an den Aufrufer zurückkehrt.

Der Funktionszeiger für diesen Rückrufgrund wird entweder mithilfe von JET_TABLECREATE an JetCreateTableColumnIndex übergeben oder zur Laufzeit mithilfe von JetRegisterCallback konfiguriert. Weitere Informationen finden Sie unter JET_TABLECREATE oder JetRegisterCallback.

Die Rückrufparameter weisen die folgenden Werte auf:

  • sesid: Die Sitzung mit dem datensatz, der gerade geändert wurde.

  • dbid: Die Datenbank-ID der Tabelle, die den soeben geänderten Datensatz enthält.

  • tableid: Ein Cursor, der auf einem Indexeintrag positioniert ist, der dem soeben geänderten Datensatz zugeordnet ist.

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: Der an JetRegisterCallback oder NULL übergebene Kontextzeiger.

  • ulUnused: NULL Wenn vom Rückruf ein Fehler zurückgegeben wird, wird er ignoriert.

JET_cbtypBeforeDelete
0x00000020

Dieser Rückruf erfolgt unmittelbar vor dem Löschen eines vorhandenen Datensatzes in einer Tabelle durch einen JetDelete-Aufruf.

Der Funktionszeiger für diesen Rückrufgrund wird entweder mithilfe von JET_TABLECREATE an JetCreateTableColumnIndex übergeben oder zur Laufzeit mithilfe von JetRegisterCallback konfiguriert. Weitere Informationen finden Sie unter JET_TABLECREATE oder JetRegisterCallback.

Die Rückrufparameter weisen die folgenden Werte auf:

  • sesid: Die Sitzung mit dem zu löschenden Datensatz.

  • dbid: Die Datenbank-ID der Tabelle, die den zu löschenden Datensatz enthält.

  • tableid: Ein Cursor, der auf einem Indexeintrag positioniert ist, der dem zu löschenden Datensatz zugeordnet ist.

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: Der an JetRegisterCallback oder NULL übergebene Kontextzeiger.

  • ulUnused: NULL Wenn vom Rückruf ein Fehler zurückgegeben wird, schlägt der Für den Rückruf ausgehende Vorgang mit diesem Fehler fehl.

JET_cbtypAfterDelete
0x00000040

Dieser Rückruf erfolgt unmittelbar, nachdem ein vorhandener Datensatz in einer Tabelle durch einen JetDelete-Aufruf gelöscht wurde, aber bevor JetDelete an seinen Aufrufer zurückkehrt.

Der Funktionszeiger für diesen Rückrufgrund wird entweder mithilfe von JET_TABLECREATE an JetCreateTableColumnIndex übergeben oder zur Laufzeit mithilfe von JetRegisterCallback konfiguriert. Weitere Informationen finden Sie unter JET_TABLECREATE oder JetRegisterCallback.

Die Rückrufparameter weisen die folgenden Werte auf:

  • sesid: Die Sitzung mit dem Datensatz, der gerade gelöscht wurde.

  • dbid: Die Datenbank-ID der Tabelle, die den soeben gelöschten Datensatz enthält.

  • tableid: Ein Cursor, der auf einem Indexeintrag positioniert ist, der dem soeben gelöschten Datensatz zugeordnet ist.

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: Der Kontextzeiger, der an JetRegisterCallback oder NULL übergeben wird.

  • ulUnused: NULL

Wenn vom Rückruf ein Fehler zurückgegeben wird, wird er ignoriert.

JET_cbtypUserDefinedDefaultValue
0x00000080

Dieser Rückruf erfolgt, wenn die Engine den benutzerdefinierten Standardwert einer Spalte aus der Anwendung abrufen muss. Bei diesem Rückruf handelt es sich im Wesentlichen um eine eingeschränkte Implementierung von JetRetrieveColumn , die von der Anwendung ausgewertet wird. Für einen benutzerdefinierten Standardwert kann maximal ein Spaltenwert zurückgegeben werden.

Der Funktionszeiger für diesen Rückrufgrund wird entweder mithilfe einer JET_USERDEFINEDDEFAULT-Struktur an JetAddColumn übergeben oder über eine JET_USERDEFINEDDEFAULT-Struktur in einer JET_COLUMNCREATE-Struktur in einer JET_TABLECREATE-Struktur an JetCreateTableColumnIndex übergeben.

Die Rückrufparameter weisen die folgenden Werte auf:

  • sesid: Die Sitzung, die den benutzerdefinierten Standardwert berechnen soll.

  • dbid: Die Datenbank-ID der Tabelle, die den benutzerdefinierten Standardwert enthält.

  • tableid: Ein Cursor, der auf dem Datensatz positioniert ist, für den der benutzerdefinierte Standardwert abgerufen wird.

  • pvArg1: Der Ausgabepuffer für den benutzerdefinierten Standardwert

  • pvArg2: Bei der Eingabe ist dies die Größe des Ausgabepuffers. Bei der Ausgabe ist dies die tatsächliche Größe des benutzerdefinierten Standardwerts. In beiden Fällen ist die Größe eine 32-Bit-Ganzzahl ohne Vorzeichen.

  • pvContext: Ein Zeiger auf einen Puffer, der die Benutzerdaten enthält, die in der JET_USERDEFINEDDEFAULT-Struktur angegeben wurden, als die Spalte erstellt wurde, oder NULL, wenn kein Kontext angegeben wurde.

  • ulUnused: Die Spalten-ID der Spalte, für die der benutzerdefinierte Standardwert abgerufen wird.

Wenn vom Rückruf ein Fehler zurückgegeben wird, schlägt der Vorgang, der dem Rückruf entstammt, mit diesem Fehler fehl.

Wenn JET_wrnBufferTruncated vom Rückruf zurückgegeben wird, wird der Vorgang fortgesetzt, aber der gesamte Wert wird während des Rückrufs nicht abgerufen.

Wenn JET_wrnColumnNull vom Rückruf zurückgegeben wird, wird der Vorgang fortgesetzt, aber der benutzerdefinierte Standardwert für die Spalte ist NULL.

JET_cbtypOnlineDefragCompleted
0x00000100

Dieser Rückruf erfolgt, wenn die von JetDefragment initiierte Onlinedefragmentierung einer Datenbank beendet wurde, da entweder der Prozess abgeschlossen oder das Zeitlimit erreicht wurde.

Der Funktionszeiger für diesen Rückrufgrund wird an JetDefragment übergeben. Weitere Informationen finden Sie unter JetDefragment.

Die Rückrufparameter weisen die folgenden Werte auf:

  • sesid: Die Sitzung, die zum Durchführen einer Onlinedefragmentierung für die Datenbank oder JET_sesidNil für eine Streamingdatei verwendet wird.

  • dbid: Die Datenbank-ID der Datenbank, die defragmentiert oder für eine Streamingdatei JET_dbidNil wird.

  • tableid: JET_tableidNil

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: NULL

  • ulUnused: NULL

Wenn vom Rückruf ein Fehler zurückgegeben wird, wird er ignoriert.

JET_cbtypFreeCursorLS
0x00000200

Dieser Rückruf erfolgt, wenn die Anwendung das Kontexthandle für den lokalen Speicher sauber muss, der einem Cursor zugeordnet ist, der von der Datenbank-Engine freigegeben wird. Weitere Informationen finden Sie unter JetSetLS.

Der Funktionszeiger für diesen Rückrufgrund wird mithilfe von JetSetSystemParameter mit JET_paramRuntimeCallback konfiguriert.

Die Rückrufparameter weisen die folgenden Werte auf:

  • sesid: JET_sesidNil

  • dbid: JET_dbidNil

  • tableid: JET_tableidNil

  • pvArg1: Der Kontexthandlesatz mithilfe von JetSetLS

  • pvArg2: NULL

  • pvContext: NULL

  • ulUnused: NULL

Wenn vom Rückruf ein Fehler zurückgegeben wird, wird er ignoriert.

JET_cbtypFreeTableLS
0x00000400

Dieser Rückruf erfolgt aufgrund der Notwendigkeit, dass die Anwendung das Kontexthandle für den lokalen Speicher bereinigen muss, der einer Tabelle zugeordnet ist, die von der Datenbank-Engine veröffentlicht wird. Weitere Informationen finden Sie unter JetSetLS.

Der Funktionszeiger für diesen Rückrufgrund wird mithilfe von JetSetSystemParameter mit JET_paramRuntimeCallback konfiguriert.

Die Rückrufparameter weisen die folgenden Werte auf:

  • sesid: JET_sesidNil

  • dbid: JET_dbidNil

  • tableid: JET_tableidNil

  • pvArg1: Das mit JetSetLS festgelegte Kontexthandle.

  • pvArg2: NULL

  • pvContext: NULL

  • ulUnused: NULL

Wenn vom Rückruf ein Fehler zurückgegeben wird, wird er ignoriert.

Anforderungen

Anforderung Wert

Client

Erfordert Windows Vista oder Windows XP.

Server

Erfordert Windows Server 2008 oder Windows Server 2003.

Kopfzeile

Deklariert in Esent.h.

Weitere Informationen

JET_CALLBACK