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:

  • cbtyp ist null,

  • pCallback ist NULL.

  • phCallbackId ist NULL.

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