JetGetRecordPosition-Funktion

Gilt für: Windows | Windows Server

JetGetRecordPosition-Funktion

Die JetGetRecordPosition-Funktion gibt die Bruchposition des aktuellen Datensatzes im aktuellen Index in Form einer JET_RECPOS-Struktur zurück. Diese Struktur beschreibt Bruchpositionen in Bezug auf eine ungefähre Anzahl von Indexeinträgen vor dem aktuellen Datensatz und eine ungefähre Gesamtzahl der Einträge im Index.

    JET_ERR JET_API JetGetRecordPosition(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __out         JET_RECPOS* precpos,
      __in          unsigned long cbRecpos
    );

Parameter

sesid

Die Sitzung, die für diesen Aufruf verwendet werden soll.

tableid

Der Cursor, der für diesen Aufruf verwendet werden soll.

Precpos

Die Beschreibung des Bruchs, der zum Abrufen der Position des aktuellen Datensatzes im aktuellen Index verwendet werden soll.

cbRecpos

Die Größe des Arbeitsspeichers, der bei Denkraten zugewiesen ist.

Rückgabewert

Diese Funktion gibt den JET_ERR-Datentyp 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_errNotInitialized

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

JET_errClientRequestToStopJetService

Der Vorgang kann nicht abgeschlossen werden, da alle Aktivitäten auf dem instance, die der Sitzung zugeordnet sind, aufgrund eines Aufrufs von JetStopService beendet wurde.

JET_errInstanceUnavailable

Dieser Vorgang kann nicht abgeschlossen werden, da bei der instance, die der Sitzung zugeordnet ist, ein schwerwiegender Fehler aufgetreten ist. Es ist erforderlich, dass der Zugriff auf alle Daten widerrufen wird, um die Integrität dieser Daten zu schützen.

Windows 2000: Dieser Fehler wird vom Windows 2000-Betriebssystem nicht zurückgegeben.

JET_errInvalidParameter

Die Größe des zugeordneten Arbeitsspeichers bei Precpos ist nicht ausreichend.

JET_errNoCurrentRecord

Der Cursor befindet sich derzeit nicht in einem Datensatz und kann keine Position zurückgeben.

JET_errRestoreInProgress

Es ist nicht möglich, den Vorgang abzuschließen, da auf dem der Sitzung zugeordneten instance ein Wiederherstellungsvorgang ausgeführt wird.

JET_errSessionSharingViolation

Dieselbe Sitzung kann nicht für mehrere Threads gleichzeitig verwendet werden.

Windows 2000: Dieser Fehler wird vom Windows 2000-Betriebssystem nicht zurückgegeben.

JET_errTermInProgress

Der Vorgang kann nicht abgeschlossen werden, da die der Sitzung zugeordnete instance heruntergefahren wird.

Bei Erfolg wird die ungefähre Anzahl von Indexeinträgen, die dem aktuellen Datensatz im Index vorangehen, in precpos-centriesLT> zurückgegeben. 1 wird in precpos-centriesInRange> zurückgegeben. Die ungefähre Anzahl von Einträgen im Index wird in precpos-centriesTotal> zurückgegeben.

Bei Einem Fehler werden keine Änderungen am Arbeitsspeicher vorgenommen, der bei Denkvorgängen zugewiesen ist.

Bemerkungen

Dieser Vorgang gibt unterschiedliche Daten zurück, wenn Fortlaufende Updates für die Tabelle erfolgen. Die Änderungen in den Werten entsprechen nicht immer den Erwartungen, die auf dem Wissen über die Updates basieren, da es sich bei den Werten um Näherungen handelt, die auf physischen Eigenschaften des Index basieren. Die Transaktionsisolation gilt nicht für Positionen aus JetGetRecordPosition , da die Werte von physischen Eigenschaften des Indexes abhängen, die nicht transaktionsisolt sind.

JET_RECPOS sollte nicht verwendet werden, um einen Datensatz in einer Tabelle zu beschreiben oder einen Datensatz in der Nähe eines vorhandenen Datensatzes neu zu positionieren. Stattdessen sollten Lesezeichen für einen vorhandenen Datensatz abgerufen und dann verwendet werden, um denselben Datensatz neu zu positionieren.

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_COLUMNID
JET_ERR
JET_SESID
JET_TABLEID
JET_RECPOS
JET_SETINFO
JetGotoPosition
JetStopService