JetGetCursorInfo-Funktion

Gilt für: Windows | Windows Server

JetGetCursorInfo-Funktion

Die JetGetCursorInfo-Funktion wird verwendet, um basierend auf dem aktuellen Updatestatus des Datensatzes zu bestimmen, ob eine Aktualisierung des aktuellen Datensatzes eines Cursors zu einem Schreibkonflikt führt. Es ist möglich, dass letztendlich ein Schreibkonflikt zurückgegeben wird, auch wenn JetGetCursorInfo JET_errSuccess zurückgibt, da eine andere Sitzung den Datensatz aktualisieren kann, bevor die aktuelle Sitzung denselben Datensatz aktualisieren kann.

    JET_ERR JET_API JetGetCursorInfo(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __out         void* pvResult,
      __in          unsigned long cbMax,
      __in          unsigned long InfoLevel
    );

Parameter

sesid

Die Sitzung, die für diesen Aufruf verwendet wird.

tableid

Der Cursor, der für diesen Aufruf verwendet wird.

pvResult

Für die zukünftige Verwendung reserviert.

cbMax

Muss auf 0 (null) festgelegt werden, andernfalls nicht verwendet. Sie ist für zukünftige Funktionen vorhanden.

InfoLevel

Muss auf 0 (null) festgelegt werden, andernfalls nicht verwendet. Sie ist für zukünftige Funktionen vorhanden.

Rückgabewert

Diese Funktion gibt den JET_ERR Datentyp mit einem der folgenden Rückgabecodes zurück. Weitere Informationen zu den möglichen ESE-Fehlern finden Sie unter Extensible Storage Engine Errors and Error Handling Parameters.

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 Instanz, die der Sitzung zugeordnet ist, als Ergebnis eines Aufrufs von JetStopServiceaufgetreten sind.

JET_errInstanceUnavailable

Es ist nicht möglich, den Vorgang abzuschließen, da für die instanz, 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

Entweder ist cbMax nicht 0 (null) oder InfoLevel ist nicht 0 (null).

JET_errNoCurrentRecord

Der Cursor befindet sich derzeit nicht in einem Datensatz, und Informationen zu einem logischen Datensatz können daher nicht zurückgegeben werden.

JET_errNotInitialized

Es ist nicht möglich, den Vorgang abzuschließen, da die der Sitzung zugeordnete Instanz noch nicht initialisiert wurde.

JET_errRestoreInProgress

Es ist nicht möglich, den Vorgang abzuschließen, da ein Wiederherstellungsvorgang für die Instanz 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 Instanz heruntergefahren wird.

JET_errWriteConflict

Der aktuelle Datensatz des Cursors wurde von einer anderen Sitzung aktualisiert, und eine Aktualisierung dieses Datensatzes durch diese Sitzung führt zu einem Schreibkonflikt.

Bei Erfolg hat dieser Vorgang keine Auswirkungen auf die Position des Cursors, gibt jedoch nur an, dass dieser Datensatz derzeit von keiner anderen Sitzung aktualisiert wurde.

Wenn bei einem Fehler ein negativer Fehlercode zurückgegeben wird, hat dies keine Auswirkungen auf den Cursor oder die Datenbank.

Bemerkungen

Dieser Vorgang wirkt sich nicht auf den Zustand des Cursors oder der Daten aus. Es wird nur ein Fehlercode zurückgegeben, der beschreibt, ob ein Update des aktuellen Datensatzes durch die aufrufende Sitzung bekanntermaßen zu einem JET_errWriteConflict führt oder unbekannt ist, um JET_errWriteConflict zurückzugeben. Wenn dieser Datensatz bereits von einer anderen Sitzung zur Verwendung aktualisiert wurde, ist es sicher, dass eine Aktualisierung dieses Datensatzes durch diese Sitzung zu einem Schreibkonflikt führt. Dies gilt, bis für diese Sitzung ein Commit oder rollback der Transaktionen auf Die Transaktionsebene 0 (null) ausgeführt wird. Wenn JetGetCursorInfo jedoch JET_errSuccess zurückgibt, ist es immer noch möglich, dass eine andere Sitzung diesen Datensatz vor der aktuellen Sitzung aktualisiert. Daher ist es weiterhin möglich, dass eine Aktualisierung des aktuellen Datensatzes durch diese Sitzung in der aktuellen Transaktion zu einem Schreibkonflikt führt.

Anforderungen

Anforderung Wert

Client

Erfordert Windows Vista, Windows XP oder Windows 2000 Professional.

Server

Erfordert Windows Server 2008, Windows Server 2003 oder Windows 2000 Server.

Header

Deklariert in Esent.h.

Bibliothek

Verwenden Sie ESENT.lib.

DLL

Erfordert ESENT.dll.

Weitere Informationen

JET_ERR
JET_SESID
JET_TABLEID
JetGetLock
JetPrepareUpdate
JetStopService
JetUpdate