Share via


JetGetRecordSize-Funktion

Gilt für: Windows | Windows Server

JetGetRecordSize-Funktion

Die JetGetRecordSize-Funktion ruft Datensatzgrößeninformationen vom gewünschten Speicherort ab.

Windows Vista: JetGetRecordSize wird in Windows Vista eingeführt.

    JET_ERR JET_API JetGetRecordSize(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __out         JET_RECSIZE* precsize,
      __in          const JET_GRBIT grbit
    );

Parameter

sesid

Gibt den Datenbanksitzungskontext an, der für den API-Aufruf verwendet wird.

tableid

Gibt die Tabelle oder den Cursor an, die für den API-Aufruf verwendet wird. Der Cursor muss in einem Datensatz positioniert sein oder ein Update vorbereitet sein.

Precsize

Ein Zeiger auf einen Ausgabepuffer für die JET_RECSIZE-Struktur .

grbit

Dies ist einer oder mehrere der folgenden Werte.

Wert

Bedeutung

JET_bitRecordSizeInCopyBuffer

Dadurch wird die Größe des Datensatzes abgerufen, der sich im für die Aktualisierung vorbereiteten Kopierpuffer befindet. Andernfalls muss die TableID oder der Cursor in einem Datensatz positioniert werden, und dieser Datensatz wird verwendet.

JET_bitRecordSizeRunningTotal

Wenn dieses Bit angegeben wird, wird die JET_RECSIZE vor dem Ausfüllen des Inhalts nicht auf Null gesetzt, was effektiv als Akkumulation der Statistiken für mehrere besuchte oder aktualisierte Datensätze fungiert.

JET_bitRecordSizeLocal

Dies führt dazu, dass die API nicht systeminterne Lange Werte ignoriert. Beispielsweise wird nur der lokale Datensatz auf der Seite verwendet.

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_errInvalidGrbit

Eine der angeforderten Optionen war ungültig oder nicht implementiert. Dieser Fehler wird von der JetGetRecordSize-Funktion zurückgegeben, wenn ein unzulässiger Grbit angegeben wird.

JET_errNotInitialized

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

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.

Windows XP: JET_errInstanceUnavailable 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_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

Es ist unzulässig, dieselbe Sitzung aus mehreren Threads gleichzeitig zu verwenden.

Windows XP: JET_errInstanceUnavailable wird nur von Windows XP und späteren Versionen zurückgegeben.

JET_errNoCurrentRecord

Dies kann passieren, wenn der Cursor falsch positioniert wurde.

JET_errRecordDeleted

Wenn der Cursor nicht in einer Transaktion positioniert wurde, kann dies passieren, wenn ein anderer Thread den Datensatz aus dieser Sitzung löscht.

JET_errInvalidParameter

Dies kann zurückgegeben werden, wenn eine NULL-Präcsize übergeben wurde.

Bemerkungen

Die Größe des Schlüssels, der im feld cbOverhead von JET_RECSIZE akkumuliert ist, wird durch JET_bitRecordSizeInCopyBuffer beeinflusst. Wenn dieses Bit angegeben wird, entspricht die im Feld cbOverhead akkumulierte Schlüsselgröße der vollständigen Schlüsselgröße. Wenn dieses Bit nicht verwendet wird, enthält die akkumulierte Schlüsselgröße keine Größe, die aufgrund der Schlüsselpräfixkomprimierung gespeichert wurde.

Anforderungen

Anforderung Wert

Client

Erfordert Windows Vista.

Server

Erfordert Windows Server 2008.

Kopfzeile

Deklariert in Esent.h.

Bibliothek

Verwenden Sie ESENT.lib.

DLL

Erfordert ESENT.dll.

Weitere Informationen

JET_ERR
JET_GRBIT
JET_SESID
JET_RECSIZE
JET_TABLEID