Freigeben über


JetDupCursor-Funktion

Letzte Änderung: Freitag, 27. Februar 2015

Gilt für: Windows | Windows Server

JetDupCursor-Funktion

Die Funktion JetDupCursor dupliziert einen geöffneten Cursor und gibt ein Handle für den duplizierten Cursor. Wenn der Cursor, der dupliziert wurde ein schreibgeschützter Cursor war ist der duplizierte Cursor auch einen schreibgeschützten Cursor. Zuständen Suchschlüssel erstellen oder Aktualisieren eines Datensatzes wird in den duplizierten Cursor nicht kopiert. Die ursprüngliche Cursorposition wird darüber hinaus in den duplizierten Cursor nicht dupliziert. Für den gruppierten Index ist immer der duplizierte Cursor geöffnet und befindet sich immer in der ersten Zeile der Tabelle.

JET_ERR JET_API JetDupCursor(
  __in          JET_SESID sesid,
  __in          JET_TABLEID tableid,
  __out         JET_TABLEID* ptableid,
  __in          JET_GRBIT grbit
);

Parameter

sesid

Die Sitzung für diesen Aufruf verwenden.

Tabellen-ID

Der Cursor für diesen Aufruf verwenden.

ptableid

Zeiger auf Tableid.

JET_errInvalidGrbit

Für die zukünftige Verwendung reserviert.

Return Value

Diese Funktion gibt den Datentyp der JET_ERR mit einem der folgenden Rückgabecodes. Weitere Informationen zu den möglichen ESE-Fehlern finden Sie unter Extensible Storage Engine-Fehler und Fehler behandeln Parameter.

Rückgabecode

Beschreibung

JET_errSuccess

Der Vorgang wurde erfolgreich abgeschlossen.

JET_errClientRequestToStopJetService

Es ist nicht möglich, um den Vorgang abzuschließen, da alle Aktivitäten in der Instanz dieser Sitzung aufgrund eines Aufrufs von JetStopServiceeingestellt hat.

JET_errInstanceUnavailable

Es ist nicht möglich, um den Vorgang abzuschließen, da die Sitzung zugeordnete Instanz ein schwerwiegender Fehler, der erfordert aufgetreten ist, dass der Zugriff auf alle Daten gesperrt werden, um die Integrität der Daten zu schützen. Dieser Fehler wird nur von Windows XP und späteren Versionen zurückgegeben werden.

JET_errNotInitialized

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

JET_errOutOfCursors

Keine verfügbaren Cursor Ressourcen vorhanden sind.

JET_errRestoreInProgress

Es ist nicht möglich, um den Vorgang abzuschließen, da ein Wiederherstellungsvorgang ausgeführt auf die Instanz der Sitzung zugeordnet wird.

JET_errSessionSharingViolation

Die gleiche Sitzung kann für mehrere Threads gleichzeitig verwendet werden. Dieser Fehler wird nur von Windows XP und späteren Versionen zurückgegeben werden.

JET_errTermInProgress

Es ist nicht möglich, um den Vorgang abzuschließen, da die Sitzung zugeordnete Instanz heruntergefahren wird.

Bei Erfolg wird Ptableid auf einen duplizierten Cursor festgelegt.

Bei einem Fehler werden keine Änderungen vorgenommen. Die Tabellen-ID ist unverändert.

Anmerkungen

Duplizierte Cursor muss nicht die gesamte Cursorstatus kopiert. Die Position des duplizierten Cursors, einschließlich den aktuellen Index unterscheidet sich in der Regel vom angegebenen Cursor. Duplizierte Cursor wird stets für den gruppierten Index und in der ersten Zeile in der Tabelle zurückgegeben. Wenn die Tabelle leer ist, ist der duplizierte Cursor nicht in einer Zeile.

Tabellen mit JetDupCursor geöffnet, sollte in der Regel mit JetCloseTablegeschlossen werden. Die Ausnahme von dieser Regel geschieht, wenn JetDupCursor in einer Transaktion aufgerufen, und die Transaktion ein (mit JetRollback Rollback wird). Beim Rollback einer Transaktion wird der Cursor automatisch geschlossen. In diesem Fall ist es ein Fehler, schließen Sie die Tabelle mit den JetCloseTable.

Die Anzahl der Tabellen, die gleichzeitig geöffnet werden können, wird direkt von JET_paramMaxOpenTablesbeeinflusst. Einzelheiten finden Sie unter System-Parameter .

Voraussetzungen

-Client,

Erfordert Windows Vista, Windows XP oder Windows 2000 Professional.

Server

Erfordert WindowsServer 2008, WindowsServer 2003 oder Windows 2000 Server.

Kopfzeile

In Esent.h deklariert.

Library

Verwenden Sie ESENT.lib.

DLL

"ESENT.dll" erfordert.

Siehe auch

JET_GRBIT
JET_SESID
JET_TABLEID
JetCloseTable
JetRollback
JetStopService
Systemparameter