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