JetGetDatabaseInfo-Funktion

Gilt für: Windows | Windows Server

JetGetDatabaseInfo-Funktion

Die JetGetDatabaseInfo-Funktion ruft verschiedene Arten von Informationen über die Datenbank ab. Diese API kann aufgerufen werden, während eine Datenbank angefügt oder online (mit JetGetDatabaseInfo) oder während die Datenbank oder Datenbank-Engine offline ist (mit JetGetDatabaseFileInfo).

    JET_ERR JET_API JetGetDatabaseInfo(
      __in          JET_SESID sesid,
      __in          JET_DBID dbid,
      __out         void* pvResult,
      __in          unsigned long cbMax,
      __in          unsigned long InfoLevel
    );

Parameter

sesid

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

dbid

Der JET_DBID für die Datenbank, aus der die Informationen abgerufen werden sollen.

pvResult

Zeiger auf einen Puffer, der die angegebenen Informationen empfängt. Die Größe des Puffers in Bytes wird in cbMax übergeben.

Bei Einem Fehler ist der Inhalt von pvResult nicht definiert.

Die in pvResult gespeicherten Informationen hängen von InfoLevel ab.

cbMax

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

InfoLevel

InfoLevel gibt an, welcher Informationstyp über die angegebene Datenbank abgerufen werden soll. Dies wirkt sich darauf aus, wie pvResult interpretiert wird. Einige InfoLevel sind nur in der Offlineversion (JetGetDatabaseFileInfo) oder online (JetGetDatabaseInfo) der API verfügbar.

Wenn der bereitgestellte pvResult-Puffer zu klein ist, wird je nach InfoLevel entweder JET_errInvalidBufferSize oder JET_errBufferTooSmall zurückgegeben.

Wert

Bedeutung

JET_DbInfoCollate

Noch nicht unterstützt und gibt Standardwerte zurück. Darf nicht verwendet werden.

JET_DbInfoConnect

Diese InfoLevels sind veraltet und werden derzeit nicht unterstützt. Darf nicht verwendet werden.

JET_DbInfoCountry

Noch nicht unterstützt und gibt Standardwerte zurück. Darf nicht verwendet werden.

JET_DbInfoCp

Noch nicht unterstützt und gibt Standardwerte zurück. Darf nicht verwendet werden.

JET_DbInfoFilename

pvResult wird als Zeichenfolgenpuffer (char *) interpretiert. Es wird ein MAX_PATH Puffer vorgeschlagen, der jedoch nicht erforderlich ist. Wenn der Puffer nicht lang genug ist, wird JET_errBufferTooSmall zurückgegeben. Die Zeichenfolge wird mit dem Pfad der Datenbank für dieses DBID aufgefüllt.

JET_DbInfoFilesize

pvResult wird als DWORD (4 Bytes) interpretiert. Gibt die Größe der Datenbank auf Seiten zurück.

JET_DbInfoIsam

Diese InfoLevels sind veraltet und werden derzeit nicht unterstützt. Darf nicht verwendet werden.

JET_DbInfoLCID

(Windows XP und höher) Dieser InfoLevel wurde ursprünglich als angegeben: JET_DbInfoLangid (Windows 2000)

pvResult wird als long interpretiert. Dadurch wird der Gebietsschemabezeichner (Locale Identifier, LCID) zurückgegeben, der dieser Datenbank zugeordnet ist.

JET_DbInfoMisc

pvResult wird als JET_DBINFOMISC interpretiert. Die JET_DBINFOMISC-Struktur wird mit Informationen zur angegebenen Datenbank aufgefüllt.

JET_DbInfoOptions

pvResult wird als JET_GRBIT (DWORD) interpretiert. Dadurch wird zurückgegeben, ob die Datenbank im exklusiven Modus geöffnet wird. Wenn sich die Datenbank im exklusiven Modus befindet, wird JET_bitDbExclusive im angegebenen JET_GRBIT festgelegt, andernfalls wird null festgelegt. Beachten Sie, dass andere Datenbank-Grbit-Optionen für JetAttachDatabase und JetOpenDatabase nicht zurückgegeben werden.

JET_DbInfoPageSize

Nur unter Windows XP und höher verfügbar. pvResult wird als nicht signierter Long-Wert interpretiert. Dadurch wird die Seitengröße der Datenbank in Bytes zurückgegeben.

JET_DbInfoSpaceAvailable

pvResult wird als DWORD interpretiert. Dadurch wird der verfügbare Speicherplatz für die Datenbank auf Seiten zurückgegeben.

JET_DbInfoSpaceOwned

pvResult wird als DWORD interpretiert. Dadurch wird der eigene Speicherplatz für die Datenbank auf Seiten zurückgegeben.

JET_DbInfoTransactions

pvResult wird als long interpretiert. Dadurch wird eine zurückgegeben, die größer ist als die maximale Ebene, auf die Transaktionen geschachtelt werden können. Wenn JetBeginTransaction aufgerufen wird (in einer Schachtelung, d. h. in derselben Sitzung, ohne Commit oder Rollback) so oft wie dieser Wert, wird beim letzten Aufruf JET_errTransTooDeep von JetBeginTransaction zurückgegeben. Beachten Sie, dass der Wert in Windows 2000, Windows XP und Windows Server 2003 7 ist.

JET_DbInfoVersion

pvResult wird als long interpretiert. Dadurch wird die native Hauptversion der Datenbank-Engine zurückgegeben. Dieser Wert ist für Windows 2000, Windows XP und Windows Server 2003 0x620.

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_errBufferTooSmall

Die Größe des puffers in cbMax war zu klein (oder nicht richtig), um die gewünschten Informationen zu speichern.

JET_errFeatureNotAvailable

Der angeforderte InfoLevel wurde JET_DbInfoIsam. Dieser Vorgang wird nicht unterstützt.

JET_errInvalidBufferSize

Die Größe des puffers in cbMax war zu klein (oder nicht richtig), um die gewünschten Informationen zu speichern.

JET_errInvalidParameter

Einer der bereitgestellten Parameter enthielt einen unerwarteten Wert oder einen Wert, der in Kombination mit dem Wert eines anderen Parameters nicht sinnvoll war. Dieser Fehler wird von JetGetDatabaseInfo zurückgegeben, wenn die angegebene JET_DBID keine gültige (angefügte) Datenbank ist. Dieser Fehler wird von JetGetDatabaseFileInfo und JetGetDatabaseInfo zurückgegeben, wenn ein angeforderter InfoLevel von dieser Version der Funktion nicht unterstützt wird.

Bei Erfolgreicher Ausführung werden die angeforderten Daten im Ausgabepuffer zurückgegeben.

Bei einem Fehler befindet sich der Ausgabepuffer in einem nicht definierten Zustand.

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 JetGetDatabaseInfoW (Unicode) und JetGetDatabaseInfoA (ANSI).

Weitere Informationen

JET_DBID
JET_ERR
JET_GRBIT
JET_SESID
JET_DBINFOMISC
JET_DBINFOUPGRADE
JetGetDatabaseFileInfo