JetGetTableInfo-Funktion

Gilt für: Windows | Windows Server

JetGetTableInfo-Funktion

Die JetGetTableInfo-Funktion ruft verschiedene Informationen zu einer Tabelle in einer Datenbank ab.

    JET_ERR JET_API JetGetTableInfo(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __out         void* pvResult,
      __in          unsigned long cbMax,
      __in          unsigned long InfoLevel
    );

Parameter

sesid

Der Datenbanksitzungskontext, der für den API-Aufruf verwendet werden soll.

tableid

Die Tabelle, für die die Informationen gelten.

pvResult

Zeiger auf einen Puffer, der die Informationen empfängt. Der Typ des Puffers ist von InfoLevel abhängig. Es liegt in der Verantwortung des Aufrufers, den Puffer entsprechend auszurichten.

cbMax

Die Größe des Puffers, der in pvResult übergeben wurde, in Bytes.

InfoLevel

Der Typ der Informationen, die für die Tabelle abgerufen werden, die durch tableid angegeben wird. Das Format der in pvResult gespeicherten Daten ist von InfoLevel abhängig.

Für diesen Parameter können die folgenden Optionen festgelegt werden:

Wert

Bedeutung

JET_TblInfo

pvResult wird als JET_OBJECTINFO-Struktur interpretiert. Wenn die Methode erfolgreich ist, wird die JET_OBJECTINFO-Struktur mit den entsprechenden Daten ausgefüllt. Wenn ein Fehler auftritt, ist der Inhalt nicht definiert.

JET_TblInfoDbid

pvResult wird als Array von zwei JET_DBID-Objekten behandelt. Der Datenbankbezeichner der Datenbank, die die Tabelle besitzt, wird zweimal in diesem Array gespeichert.

JET_TblInfoDumpTable

JET_TblInfoDumpTable ist veraltet. Die API gibt JET_errFeatureNotAvailable zurück.

JET_TblInfoName

JET_TblInfoName ruft den Namen der Tabelle ab und speichert ihn in pvResult. Wenn der Puffer zu klein ist, ist das Verhalten nicht definiert.

JET_TblInfoMostMany

JET_TblInfoMostMany ruft den Namen der Tabelle ab und speichert ihn in pvResult. Wenn der Puffer zu klein ist, ist das Verhalten nicht definiert.

JET_TblInfoOLC

JET_TblInfoOLC ist veraltet. Die API gibt JET_errFeatureNotAvailable zurück.

JET_TblInfoRvt

JET_TblInfoRvt ist veraltet. Die API gibt JET_errQueryNotSupported zurück.

JET_TblInfoResetOLC

JET_TblInfoResetOLC ist veraltet. Die API gibt JET_errFeatureNotAvailable zurück.

JET_TblInfoSpaceAlloc

pvResult wird als Array von zwei ULONGs interpretiert:

  • Die erste ULONG ist die Anzahl der Seiten in der Tabelle.

  • Die zweite ULONG ist die Zieldichte der Seiten für die Tabelle.

JET_TblInfoSpaceAvailable

pvResult wird als ULONG interpretiert. Die ULONG ist die Summe der Anzahl von Seiten, die in der Tabelle verfügbar sind, deren Indizes und der Struktur für lange Werte.

JET_TblInfoSpaceOwned

pvResult wird als ULONG interpretiert. Die ULONG ist die Summe der Anzahl der Seiten, die sich im Besitz der Tabelle befinden (einschließlich ihrer Indizes, der Struktur für lange Werte und aller darin verfügbaren Seiten).

JET_TblInfoSpaceUsage

Das Verhalten der API hängt davon ab, wie groß der Puffer ist, der an die API übergeben wird. Zwei cbMax-Werte müssen mindestens ( 2 * sizeof( ULONG ) sein.

  • Wenn cbMax ( 2 * sizeof( ULONG ) ist, wird pvResult als Array von zwei ULONGs interpretiert:

    • Die erste ULONG ist die Anzahl der eigenen Blöcke der Tabelle.

    • Die zweite ULONG ist die Anzahl der verfügbaren Blöcke der Tabelle.

  • pvResult wird als Array von interpretiert:

    • Die erste ULONG ist die Anzahl der eigenen Blöcke der Tabelle.

    • Die zweite ULONG ist die Anzahl der verfügbaren Blöcke der Tabelle.

JET_TblInfoTemplateTableName

pvResult wird als Zeichenfolgenpuffer interpretiert. Der Puffer muss mindestens JET_cbNameMost + 1 sein, einschließlich des beendenden NULL. Wenn es sich bei der Tabelle um eine abgeleitete Tabelle handelt, wird der Puffer mit dem Namen der Tabelle ausgefüllt, von der die abgeleitete Tabelle ihre DDL geerbt hat. Wenn es sich bei der Tabelle nicht um eine abgeleitete Tabelle handelt, wird der Puffer als leere Zeichenfolge 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_errBufferTooSmall

Der Puffer war zu klein.

JET_errFeatureNotAvailable

Es wurde ein veralteter InfoLevel-Wert angegeben.

JET_errInvalidBufferSize

Der Puffer hatte nicht die richtige Größe.

JET_errInvalidOperation

Die übergebene Tabelle war eine temporäre Tabelle, und der angeforderte InfoLevel kann nicht für eine temporäre Tabelle abgerufen werden.

JET_errObjectNotFound

Die übergebene Tabelle war eine temporäre Tabelle, und der angeforderte InfoLevel kann nicht für eine temporäre Tabelle abgerufen werden.

JET_errQueryNotSupported

InfoLevel wird nicht unterstützt.

JET_errTableInUse

Die Tabelle wird von einem anderen Datenbankvorgang verwendet.

JET_errTableLocked

Die Tabelle wird durch einen anderen Datenbankvorgang gesperrt.

JET_wrnTableInUseBySystem

Die Tabelle wird vom System verwendet. Diese Warnung ist nicht schwerwiegender Wert.

Bemerkungen

Einige Informationen sind für temporäre Tabellen ungültig (siehe JetOpenTempTable).

Die Tabellenstatistik umfasst die Anzahl der Datensätze und die Anzahl der Seiten im gruppierten Index (d. a. den Index, der die Datensatzdaten enthält). Der Zugriff auf die Indexstatistiken erfolgt separat über den Namen mithilfe von JetGetIndexInfo oder JetGetTableIndexInfo.

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.

Unicode

Implementiert als JetGetTableInfoW (Unicode) und JetGetTableInfoA (ANSI).

Weitere Informationen

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JET_OBJECTINFO
JetGetIndexInfo
JetGetObjectInfo
JetGetTableIndexInfo
JetOpenTempTable