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