JetGetCursorInfo-Funktion
Gilt für: Windows | Windows Server
JetGetCursorInfo-Funktion
Die JetGetCursorInfo-Funktion wird verwendet, um zu bestimmen, ob eine Aktualisierung des aktuellen Datensatzes eines Cursors zu einem Schreibkonflikt führt, basierend auf dem aktuellen Update status des Datensatzes. Es ist möglich, dass letztendlich ein Schreibkonflikt zurückgegeben wird, selbst wenn JetGetCursorInfo JET_errSuccess zurückgibt, da möglicherweise eine andere Sitzung den Datensatz aktualisiert, 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 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 |
Entweder ist cbMax nicht 0 (null) oder InfoLevel ist nicht 0 (null). |
JET_errNoCurrentRecord |
Der Cursor befindet sich derzeit nicht in einem Datensatz, und daher können keine Informationen zu einem logischen Datensatz zurückgegeben werden. |
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. |
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 Auswirkung auf die Position des Cursors, sondern gibt nur an, dass dieser Datensatz derzeit von keiner anderen Sitzung aktualisiert wurde.
Wenn ein negativer Fehlercode zurückgegeben wird, gibt es keine Auswirkungen auf den Cursor oder die Datenbank.
Bemerkungen
Dieser Vorgang wirkt sich nicht auf den Status des Cursors oder der Daten aus. Es gibt nur einen Fehlercode zurück, der beschreibt, ob eine Aktualisierung des aktuellen Datensatzes durch die aufrufende Sitzung bekanntermaßen zu einem JET_errWriteConflict führt oder unbekannt ist, JET_errWriteConflict zurückzugeben. Wenn eine andere Sitzung diesen Datensatz bereits für die Verwendung aktualisiert hat, ist es sicher, dass eine Aktualisierung dieses Datensatzes durch diese Sitzung zu einem Schreibkonflikt führt. Dies gilt, bis diese Sitzung ein Commit für ihre Transaktionen auf Transaktionsebene 0 (Null) ausführt oder ein Rollback ausführt. Wenn JetGetCursorInfo jedoch JET_errSuccess zurückgibt, ist es dennoch 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. |
Kopfzeile |
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