Fonction JetGetSystemParameter

S’applique à : Windows | Windows Server

Fonction JetGetSystemParameter

La fonction JetGetSystemParameter lit les nombreux paramètres de configuration du moteur de base de données.

    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
    );

Paramètres

instance

Instance à utiliser pour cet appel.

Pour Windows 2000, ce paramètre est ignoré et doit toujours avoir la valeur NULL.

Pour Windows XP et les versions ultérieures, ce paramètre est quelque peu surchargé. Si le moteur fonctionne en mode hérité (mode de compatibilité Windows 2000) où une seule instance est prise en charge, ce paramètre peut être NULL ou contenir le instance réel retourné par JetInit. Dans les deux cas, tous les paramètres système sont lus à partir de ce instance. Si le moteur fonctionne en mode multi-instance, ce paramètre peut être NULL ou un pointeur vers un instance créé à l’aide de JetInit ou JetCreateInstance. Lorsque ce paramètre a la valeur NULL , le paramètre système global (ou par défaut) est lu. Lorsque ce paramètre est un instance le paramètre système pour cette instance est lu.

sesid

Session à utiliser pour cet appel.

Lorsqu’il est spécifié, le instance spécifié est ignoré et le instance associé à la session est utilisé.

paramid

ID du paramètre système qui sera lu.

Pour obtenir la liste complète des paramètres système et de leurs propriétés, consultez Paramètres système .

plParam

Mémoire tampon de sortie qui reçoit la valeur du paramètre système sélectionné si ce paramètre système est d’un type entier.

szParam

Mémoire tampon de sortie qui reçoit la valeur du paramètre système sélectionné si ce paramètre système est d’un type de chaîne.

cbMax

Taille maximale en octets de la mémoire tampon de sortie de chaîne.

Valeur renvoyée

Cette fonction retourne le type de données JET_ERR avec l’un des codes de retour suivants. Pour plus d’informations sur les erreurs ESE possibles, consultez Erreurs du moteur de stockage extensible et Paramètres de gestion des erreurs.

Code de retour

Description

JET_errSuccess

L’opération s’est terminée avec succès.

JET_errClientRequestToStopJetService

Il n’est pas possible d’effectuer l’opération, car toutes les activités sur le instance associées à la session ont cessé à la suite d’un appel à JetStopService.

JET_errInitInProgress

Il n’est pas possible d’effectuer l’opération, car le instance associé à la session est en cours d’initialisation.

JET_errInstanceUnavailable

Il n’est pas possible d’effectuer l’opération, car le instance associé à la session a rencontré une erreur irrécupérable qui exige que l’accès à toutes les données soit révoqué pour protéger l’intégrité de ces données. Cette erreur sera retournée uniquement par Windows XP et les versions ultérieures.

JET_errInvalidParameter

L’un des paramètres fournis contenait une valeur inattendue ou contenait une valeur qui n’était pas logique lorsqu’elle était combinée à la valeur d’un autre paramètre.

Cela peut se produire pour JetGetSystemParameter lorsque :

  • L’ID de paramètre système spécifié n’est pas valide ou n’est pas pris en charge.

  • Le paramètre système spécifié nécessite que la mémoire tampon de sortie d’entier soit fournie et que le pointeur de mémoire tampon de sortie ait la valeur NULL.

  • Le paramètre système spécifié nécessite qu’une mémoire tampon de sortie de chaîne soit fournie et que le pointeur de mémoire tampon de sortie ait la valeur NULL.

    Windows Vista : Cela ne peut se produire que sur Windows Vista et les versions ultérieures.

  • Le paramètre système spécifié nécessite la mise à disposition d’une mémoire tampon de sortie de chaîne et la taille de cette mémoire tampon de sortie est trop petite pour accepter une chaîne terminée par null.

    Windows Vista : Cela ne peut se produire que sur Windows Vista et les versions ultérieures.

  • Le paramètre système spécifié ne peut pas être lu, car il s’agit d’une écriture seule.

  • Le paramètre système spécifié est global uniquement et une tentative de lecture d’une valeur instance spécifique pour ce paramètre système a été effectuée. Cela ne peut se produire que sur Windows XP et les versions ultérieures.

  • Le paramètre système spécifié est par instance uniquement et une tentative de lecture de la valeur globale de ce paramètre système a été effectuée. Cela ne peut se produire que sur Windows XP et les versions ultérieures.

JET_errNotInitialized

Il n’est pas possible d’effectuer l’opération, car le instance associé à la session n’a pas encore été initialisé.

JET_errRestoreInProgress

Il n’est pas possible d’effectuer l’opération, car une opération de restauration est en cours sur le instance associé à la session.

JET_errTermInProgress

Il n’est pas possible d’effectuer l’opération, car le instance associé à la session est en cours d’arrêt.

JET_errInvalidSesid

Le handle de session n’est pas valide ou fait référence à une session fermée. Cette erreur n’est pas retournée dans toutes les circonstances. Les handles sont validés uniquement sur la base du meilleur effort.

JET_errInvalidInstance

Le handle instance n’est pas valide ou fait référence à un instance qui a été arrêté. Cette erreur n’est pas retournée dans toutes les circonstances. Les handles sont validés uniquement sur la base du meilleur effort.

Windows Vista : Cette erreur sera retournée uniquement par Windows Vista et les versions ultérieures.

JET_wrnBufferTruncated

L’opération s’est terminée correctement, mais la mémoire tampon de sortie était trop petite pour recevoir l’ensemble du paramètre système.

La mémoire tampon de sortie a été remplie avec autant de paramètres système qu’il le faudrait. Si la mémoire tampon de sortie est d’au moins un caractère, la chaîne de cette mémoire tampon de sortie est terminée par null.

Note Cette erreur n’est pas retournée par toutes les versions. Pour plus d’informations, consultez la section Remarques.

JET_errBufferTooSmall

L’opération a échoué, car la mémoire tampon de sortie était trop petite pour recevoir l’ensemble du paramètre système.

Note Cette erreur n’est pas retournée dans certains cas pour préserver la compatibilité de l’application. Pour plus d’informations, consultez la section Remarques.

Windows Vista : Cette erreur sera retournée uniquement par Windows Vista et les versions ultérieures.

En cas de réussite, la mémoire tampon de sortie appropriée pour le paramètre système demandé est définie sur la valeur de ce paramètre système.

En cas d’échec, l’état des mémoires tampons de sortie n’est pas défini.

Notes

Cette API présente un problème important dans toutes les versions. Si un paramètre système avec une valeur de chaîne est demandé et que la mémoire tampon de sortie est trop petite pour recevoir l’intégralité du paramètre système, JET_wrnBufferTruncated ne sera PAS retourné. JET_errSuccess est retourné à la place. Si la longueur de la chaîne retournée est égale à la taille de la mémoire tampon de sortie moins le terminateur NULL , l’appelant doit réagir comme si JET_wrnBufferTruncated avaient été retournés. Si une mémoire tampon de sortie de chaîne de taille zéro est spécifiée, l’appelant doit réagir comme si JET_errInvalidParameter avaient été retournés.

Configuration requise

Condition requise Valeur

Client

Nécessite Windows Vista, Windows XP ou Windows 2000 Professionnel.

Serveur

Nécessite Windows Server 2008, Windows Server 2003 ou Windows 2000 Server.

En-tête

Déclaré dans Esent.h.

Bibliothèque

Utilisez ESENT.lib.

DLL

Nécessite ESENT.dll.

Unicode

Implémenté en tant que JetGetSystemParameterW (Unicode) et JetGetSystemParameterA (ANSI).

Voir aussi

JET_API_PTR
JET_ERR
JET_INSTANCE
JET_SESID
JetCreateInstance
JetInit
JetSetSystemParameter
JetStopService
Paramètres système