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:
|
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