JetGetSystemParameter-Funktion

Gilt für: Windows | Windows Server

JetGetSystemParameter-Funktion

Die JetGetSystemParameter-Funktion liest die zahlreichen Konfigurationseinstellungen der Datenbank-Engine.

    JET_ERR JET_API JetGetSystemParameter(
      __in          JET_INSTANCE instance,
      __in          JET_SESID sesid,
      __in          unsigned long paramid,
      __in_out_opt  JET_API_PTR* plParam,
      __out_opt     JET_PSTR szParam,
      __in          unsigned long cbMax
    );

Parameter

instance

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

Für Windows 2000 wird dieser Parameter ignoriert und sollte immer NULL sein.

Für Windows XP und höhere Versionen ist dieser Parameter etwas überladen. Wenn die Engine im Legacymodus (Windows 2000-Kompatibilitätsmodus) ausgeführt wird, in dem nur ein instance unterstützt wird, kann dieser Parameter NULL sein oder die tatsächliche instance enthalten, die von JetInit zurückgegeben werden. In beiden Fällen werden alle Systemparametereinstellungen aus dieser instance gelesen. Wenn die Engine im Multi-instance-Modus ausgeführt wird, kann dieser Parameter NULL oder ein Zeiger auf eine mit JetInit oder JetCreateInstance erstellte instance sein. Wenn dieser Parameter NULL ist, wird die einstellung des globalen Systemparameters (oder der Standardwert) gelesen. Wenn es sich bei diesem Parameter um einen instance wird die Systemparametereinstellung für diesen instance gelesen.

sesid

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

Wenn angegeben, wird die angegebene instance ignoriert, und die der Sitzung zugeordnete instance wird verwendet.

paramid

Die ID des Systemparameters, der gelesen wird.

Eine vollständige Liste der Systemparameter und deren Eigenschaften finden Sie unter Systemparameter .

plParam

Der Ausgabepuffer, der den Wert des ausgewählten Systemparameters empfängt, wenn dieser Systemparameter einen ganzzahligen Typ aufweist.

szParam

Der Ausgabepuffer, der den Wert des ausgewählten Systemparameters empfängt, wenn dieser Systemparameter einen Zeichenfolgentyp aufweist.

cbMax

Die maximale Größe des Zeichenfolgenausgabepuffers in Byte.

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_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_errInitInProgress

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

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. Dieser Fehler wird nur von Windows XP und späteren Versionen zurückgegeben.

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.

Dies kann für JetGetSystemParameter in folgenden Fällen der Fall sein:

  • Die angegebene Systemparameter-ID ist ungültig oder wird nicht unterstützt.

  • Für den angegebenen Systemparameter muss der ganzzahlige Ausgabepuffer bereitgestellt werden, und der Ausgabepufferzeiger ist NULL.

  • Für den angegebenen Systemparameter muss ein Zeichenfolgenausgabepuffer bereitgestellt werden, und der Ausgabepufferzeiger ist NULL.

    Windows Vista: Dies kann nur unter Windows Vista und späteren Versionen geschehen.

  • Für den angegebenen Systemparameter muss ein Zeichenfolgenausgabepuffer bereitgestellt werden, und die Größe dieses Ausgabepuffers ist zu klein, um eine NULL-beendete Zeichenfolge zu akzeptieren.

    Windows Vista: Dies kann nur unter Windows Vista und späteren Versionen geschehen.

  • Der angegebene Systemparameter kann nicht gelesen werden, da er schreibgeschützt ist.

  • Der angegebene Systemparameter ist nur global, und es wurde versucht, einen instance spezifischen Wert für diesen Systemparameter zu lesen. Dies kann nur unter Windows XP und späteren Versionen der Fall sein.

  • Der angegebene Systemparameter ist nur pro instance, und es wurde versucht, den globalen Wert für diesen Systemparameter zu lesen. Dies kann nur unter Windows XP und späteren Versionen der Fall sein.

JET_errNotInitialized

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

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_errTermInProgress

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

JET_errInvalidSesid

Das Sitzungshandle ist ungültig oder bezieht sich auf eine geschlossene Sitzung. Dieser Fehler wird nicht unter allen Umständen zurückgegeben. Handles werden nur auf der Grundlage des bestmöglichen Aufwands überprüft.

JET_errInvalidInstance

Das instance Handle ist ungültig oder bezieht sich auf eine instance, die heruntergefahren wurde. Dieser Fehler wird nicht unter allen Umständen zurückgegeben. Handles werden nur auf der Grundlage des bestmöglichen Aufwands überprüft.

Windows Vista: Dieser Fehler wird nur von Windows Vista und späteren Versionen zurückgegeben.

JET_wrnBufferTruncated

Der Vorgang wurde erfolgreich abgeschlossen, aber der Ausgabepuffer war zu klein, um die gesamte Systemparametereinstellung zu empfangen.

Der Ausgabepuffer wurde mit dem entsprechenden Teil der Systemparametereinstellung gefüllt. Wenn der Ausgabepuffer mindestens ein Zeichen lang ist, wird die Zeichenfolge in diesem Ausgabepuffer null beendet.

Hinweis Dieser Fehler wird nicht von allen Releases zurückgegeben. Weitere Informationen finden Sie im Abschnitt Hinweise.

JET_errBufferTooSmall

Der Vorgang ist fehlgeschlagen, weil der Ausgabepuffer zu klein war, um die gesamte Systemparametereinstellung zu empfangen.

Hinweis Dieser Fehler wird in einigen Fällen nicht zurückgegeben, um die Anwendungskompatibilität zu erhalten. Weitere Informationen finden Sie im Abschnitt Hinweise.

Windows Vista: Dieser Fehler wird nur von Windows Vista und späteren Versionen zurückgegeben.

Bei Erfolg wird der für den angeforderten Systemparameter geeignete Ausgabepuffer auf den Wert dieses Systemparameters festgelegt.

Bei einem Fehler ist der Zustand der Ausgabepuffer nicht definiert.

Bemerkungen

Es gibt ein wichtiges Problem in dieser API, das in allen Releases vorhanden ist. Wenn ein Systemparameter mit einem Zeichenfolgenwert angefordert wird und der Ausgabepuffer zu klein ist, um die gesamte Systemparametereinstellung zu empfangen, wird JET_wrnBufferTruncated NICHT zurückgegeben. stattdessen wird JET_errSuccess zurückgegeben. Wenn die Länge der zurückgegebenen Zeichenfolge der Größe des Ausgabepuffers abzüglich des NULL-Abschlusszeichens entspricht, sollte der Aufrufer so reagieren, als ob JET_wrnBufferTruncated zurückgegeben würden. Wenn ein Zeichenfolgenausgabepuffer der Größe null angegeben wird, sollte der Aufrufer so reagieren, als ob JET_errInvalidParameter zurückgegeben würden.

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 JetGetSystemParameterW (Unicode) und JetGetSystemParameterA (ANSI).

Weitere Informationen

JET_API_PTR
JET_ERR
JET_INSTANCE
JET_SESID
JetCreateInstance
JetInit
JetSetSystemParameter
JetStopService
Systemparameter