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 ist (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, aus dem die Datenbank die Informationen abrufen soll.
pvResult
Zeiger auf einen Puffer, der die angegebenen Informationen erhält. 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 in Bytes, der in pvResult übergeben wurde.
InfoLevel
InfoLevel gibt an, welche Art von Informationen ü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, JET_errInvalidBufferSize oder JET_errBufferTooSmall je nach InfoLevel zurückgegeben.
Wert |
Bedeutung |
|---|---|
JET_DbInfoCollate |
Wird 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 |
Wird noch nicht unterstützt und gibt Standardwerte zurück. Darf nicht verwendet werden. |
JET_DbInfoCp |
Wird noch nicht unterstützt und gibt Standardwerte zurück. Darf nicht verwendet werden. |
JET_DbInfoFilename |
pvResult wird als Zeichenfolgenpuffer (char *) interpretiert. Ein MAX_PATH wird empfohlen, ist jedoch nicht erforderlich. Wenn der Puffer nicht lang genug ist, 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 in 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 Dieser Datenbank zuordnende Locale Identifier (LCID) zurückgegeben. |
JET_DbInfoMisc |
pvResult wird als JET_DBINFOMISC. Die JET_DBINFOMISC-Struktur wird mit Informationen zur angegebenen Datenbank aufgefüllt. |
JET_DbInfoOptions |
pvResult wird als JET_GRBIT (DWORD) interpretiert. Damit wird zurückgegeben, ob die Datenbank im exklusiven Modus geöffnet wird. Wenn sich die Datenbank im exklusiven Modus JET_bitDbExclusive wird in der bereitgestellten JET_GRBIT festgelegt, andernfalls wird 0 festgelegt. Beachten Sie, dass andere Datenbank-Grbit-Optionen für JetAttachDatabase und JetOpenDatabase nicht zurückgegeben werden. |
JET_DbInfoPageSize |
Nur auf Windows XP und höher verfügbar. pvResult wird als long ohne Vorzeichen 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 ein wert größer als die maximale Ebene zurück, auf der Transaktionen geschachtelt werden können. Wenn JetBeginTransaction so oft wie dieser Wert aufgerufen wird (in einer Schachtelung, d. h. in derselben Sitzung, ohne Commit oder Rollback), wird beim letzten Aufruf JET_errTransTooDeep von JetBeginTransaction zurückgegeben. Beachten Sie, dass der 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 wird 0x620 Windows 2000, 2000, Windows XP und Windows Server 2003 angezeigt. |
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_errBufferTooSmall |
Die Größe des puffers, der in cbMax angegeben wurde, war zu klein (oder nicht richtig), um die gewünschten Informationen zu enthalten. |
JET_errFeatureNotAvailable |
Der angeforderte InfoLevel wurde JET_DbInfoIsam. Dieser Vorgang wird nicht unterstützt. |
JET_errInvalidBufferSize |
Die Größe des puffers, der in cbMax angegeben wurde, war zu klein (oder nicht richtig), um die gewünschten Informationen zu enthalten. |
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 JET_DBID bereitgestellte Datenbank keine gültige (angefügte) Datenbank ist. Dieser Fehler wird von JetGetDatabaseFileInfo und JetGetDatabaseInfo zurückgegeben, wenn ein angefordertes InfoLevel von dieser Version der Funktion nicht unterstützt wird. |
Bei Erfolg werden die angeforderten Daten im Ausgabepuffer zurückgegeben.
Bei einem Fehler hat der Ausgabepuffer einen nicht definierten Zustand.
Anforderungen
| | |
Client
|Erfordert Windows Vista, Windows XP oder Windows 2000 Professional.
| |Server
|Erfordert Windows Server 2008, Windows Server 2003 oder Windows 2000 Server.
| |Header
|Deklariert in Esent.h.
| |Bibliothek
|Verwenden Sie ESENT.lib.
| |DLL
|Erfordert ESENT.dll.
| |Unicode
|Wird als JetGetDatabaseInfoW (Unicode) und JetGetDatabaseInfoA (ANSI) implementiert.
|Weitere Informationen
JET_DBID
JET_ERR
JET_GRBIT
JET_SESID
JET_DBINFOMISC
JET_DBINFOUPGRADE
JetGetDatabaseFileInfo