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 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 von Einträgen 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 beim Precpos zugeordnet ist.
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_errNotInitialized |
Der Vorgang kann nicht abgeschlossen werden, da die -Instanz, die der Sitzung zugeordnet ist, noch nicht initialisiert wurde. |
JET_errClientRequestToStopJetService |
Der Vorgang kann nicht abgeschlossen werden, da alle Aktivitäten auf der -Instanz, die der Sitzung zugeordnet ist, aufgrund eines Aufrufs von JetStopService beendet wurden. |
JET_errInstanceUnavailable |
Dieser Vorgang kann nicht abgeschlossen werden, da für die -Instanz, die der Sitzung zugeordnet ist, ein schwerwiegender Fehler aufgetreten ist. Der Zugriff auf alle Daten muss widerrufen werden, um die Integrität dieser Daten zu schützen. Windows 2000: Dieser Fehler wird vom Betriebssystem Windows 2000 nicht zurückgegeben. |
JET_errInvalidParameter |
Die Größe des zugeordneten Arbeitsspeichers bei der Vorbereitung ist nicht ausreichend. |
JET_errNoCurrentRecord |
Der Cursor befindet sich derzeit nicht in einem Datensatz und kann keine Position zurückgeben. |
JET_errRestoreInProgress |
Der Vorgang kann nicht abgeschlossen werden, da für die -Instanz, die der Sitzung zugeordnet ist, ein Wiederherstellungsvorgang durchgeführt wird. |
JET_errSessionSharingViolation |
Dieselbe Sitzung kann nicht gleichzeitig für mehrere Threads verwendet werden. Windows 2000: Dieser Fehler wird vom Betriebssystem Windows 2000 nicht zurückgegeben. |
JET_errTermInProgress |
Der Vorgang kann nicht abgeschlossen werden, da die der Sitzung zugeordnete Instanz heruntergefahren wird. |
Bei Erfolg wird die ungefähre Anzahl von Indexeinträgen vor dem aktuellen Datensatz im Index 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 Speicher vorgenommen, der im Voraus zugeordnet wurde.
Hinweise
Dieser Vorgang gibt unterschiedliche Daten zurück, wenn updates kontinuierlich für die Tabelle erfolgen. Die Änderungen an den Werten entsprechen nicht immer den Erwartungen, die auf den Informationen zu den Updates basieren, da die Werte Näherungen sind, die auf den physischen Eigenschaften des Indexes basieren. Die Transaktionsisolation gilt nicht für Positionen von JetGetRecordPosition, da die Werte von physischen Eigenschaften des Indexes abhängen, die nicht transaktionsisoliert sind.
JET_RECPOS sollte nicht verwendet werden, um einen Datensatz innerhalb 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
| | |
Client
|Erfordert Windows Vista, Windows XP oder Windows 2000 Professional.
| |Server
|Erfordert Windows Server 2008, Windows Server 2003 oder Windows 2000 Server.
| |Header
|Wird in Esent.h deklariert.
| |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