JetRegisterCallback-Funktion
Gilt für: Windows | Windows Server
JetRegisterCallback-Funktion
Mit der JetRegisterCallback-Funktion kann die Anwendung die Datenbank-Engine so konfigurieren, dass sie Benachrichtigungen für bestimmte Ereignisse an die Anwendung ausgibt. Diese Benachrichtigungen sind einer bestimmten Tabelle zugeordnet und bleiben nur in Kraft, bis die instance, die die Tabelle enthält, mithilfe von JetTerm heruntergefahren wird.
Windows XP: JetRegisterCallback wird in Windows XP eingeführt.
JET_ERR JET_API JetRegisterCallback(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__in JET_CBTYP cbtyp,
__in JET_CALLBACK pCallback,
__in void* pvContext,
__out JET_HANDLE* phCallbackId
);
Parameter
sesid
Die Sitzung, die für diesen Aufruf verwendet werden soll.
tableid
Der Cursor, der für diesen Aufruf verwendet werden soll.
cbtyp
Eine Bitmaske, die aus den Rückrufgründen besteht, für die die Anwendung Benachrichtigungen erhalten möchte.
Um diese Bitmaske zu erstellen, einfach oder zusammen gültige Rückrufgründe aus der JET_CBTYP-Enumeration .
pCallback
Der Funktionszeiger auf die Rückruffunktion für die Anwendung.
pvContext
Gibt einen Kontextzeiger an, der der Rückruffunktion für die Anwendung zugewiesen wird.
phCallbackId
Gibt ein Handle zurück, das später verwendet werden kann, um die Registrierung der angegebenen Rückruffunktion mithilfe von JetUnregisterCallback abzubrechen.
Rückgabewert
Diese Funktion gibt den Datentyp JET_ERR mit einem der folgenden Rückgabecodes zurück. Weitere Informationen zu möglichen ESE-Fehlern finden Sie unter Erweiterbare Speichermodulfehler und Fehlerbehandlungsparameter.
Rückgabecode |
Beschreibung |
---|---|
JET_errSuccess |
Der Vorgang wurde erfolgreich abgeschlossen. |
JET_errClientRequestToStopJetService |
Es ist nicht möglich, den Vorgang abzuschließen, da alle Aktivitäten auf der instance, die der Sitzung zugeordnet sind, aufgrund eines Aufrufs von JetStopService beendet wurden. |
JET_errInstanceUnavailable |
Es ist nicht möglich, den Vorgang abzuschließen, da für die instance, die der Sitzung zugeordnet ist, ein schwerwiegender Fehler aufgetreten ist, der erfordert, dass der Zugriff auf alle Daten widerrufen wird, um die Integrität dieser Daten zu schützen. Dieser Fehler wird nur von Windows XP und späteren Versionen zurückgegeben. |
JET_errInvalidParameter |
Einer der bereitgestellten Parameter enthielt einen unerwarteten Wert oder einen Wert, der in Kombination mit dem Wert eines anderen Parameters nicht sinnvoll war. Dieser Fehler wird von JetRegisterCallback zurückgegeben, wenn:
|
JET_errNotInitialized |
Es ist nicht möglich, den Vorgang abzuschließen, da die der Sitzung zugeordnete instance noch nicht initialisiert wurde. |
JET_errRestoreInProgress |
Es ist nicht möglich, den Vorgang abzuschließen, da ein Wiederherstellungsvorgang für die instance ausgeführt wird, die der Sitzung zugeordnet ist. |
JET_errSessionSharingViolation |
Dieselbe Sitzung kann nicht für mehrere Threads gleichzeitig verwendet werden. Dieser Fehler wird nur von Windows XP und späteren Versionen zurückgegeben. |
JET_errTermInProgress |
Es ist nicht möglich, den Vorgang abzuschließen, da die der Sitzung zugeordnete instance heruntergefahren wird. |
Bei Erfolg wird der angegebene Rückruf für die angegebenen Rückrufgründe mit der Tabelle registriert, die dem angegebenen Cursor zugeordnet ist. Es wird keine Änderung des Datenbankzustands vorgenommen.
Bei einem Fehler wird der Rückruf nicht registriert. Es wird keine Änderung des Datenbankzustands vorgenommen.
Bemerkungen
Diese Methode bietet der Anwendung die Möglichkeit, flüchtige Rückrufe einer Tabelle in einer Datenbank zuzuordnen. Wenn die Anwendung persistente Rückrufe einer Tabelle in der Datenbank zuordnen möchte, sollte sie den Rückruf mithilfe von JetCreateTableColumnIndex an JET_TABLECREATE übergeben.
Anforderungen
Anforderung | Wert |
---|---|
Client |
Erfordert Windows Vista oder Windows XP. |
Server |
Erfordert Windows Server 2008 oder Windows Server 2003. |
Kopfzeile |
Deklariert in Esent.h. |
Bibliothek |
Verwenden Sie ESENT.lib. |
DLL |
Erfordert ESENT.dll. |
Weitere Informationen
JET_CALLBACK
JET_CBTYP
JET_ERR
JET_HANDLE
JET_SESID
JET_TABLEID
JetCreateTableColumnIndex
JetTerm
JetUnregisterCallback