JetGetSystemParameter fonction)

S’applique à : Windows | Windows Serveurs

JetGetSystemParameter fonction)

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

instancié

Instance à utiliser pour cet appel.

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

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

sesid

Session à utiliser pour cet appel.

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

paramid

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

Pour obtenir la liste complète des paramètres système et 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 un type 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 de terminer l’opération, car toute activité sur l’instance associée à la session a été interrompue suite à un appel à JetStopService.

JET_errInitInProgress

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

JET_errInstanceUnavailable

Il n’est pas possible de terminer l’opération, car l’instance associée à la session a rencontré une erreur irrécupérable qui requiert que l’accès à toutes les données soit révoqué pour protéger l’intégrité de ces données. cette erreur est renvoyé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’a pas de sens lorsqu’elle était associée à la valeur d’un autre paramètre.

Cela peut se produire pour JetGetSystemParameter dans les cas suivants :

  • 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é requiert que la mémoire tampon de sortie entier soit fournie et que le pointeur de la mémoire tampon de sortie ait la valeur null.

  • Le paramètre système spécifié requiert la spécification d’une mémoire tampon de sortie de chaîne et le pointeur de la mémoire tampon de sortie a la valeur null.

    Windows Vista : cela peut se produire uniquement sur Windows Vista et versions ultérieures.

  • Le paramètre système spécifié requiert la spécification 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 le caractère null.

    Windows Vista : cela peut se produire uniquement sur Windows Vista et versions ultérieures.

  • Le paramètre système spécifié ne peut pas être lu, car il est en écriture seule.

  • Le paramètre système spécifié est global uniquement et une tentative a été effectuée pour lire une valeur spécifique à l’instance pour ce paramètre système. cela peut se produire uniquement dans Windows XP et versions ultérieures.

  • Le paramètre système spécifié est par instance uniquement et une tentative a été effectuée pour lire la valeur globale de ce paramètre système. cela peut se produire uniquement dans Windows XP et versions ultérieures.

JET_errNotInitialized

Impossible de terminer l’opération, car l’instance associée à la session n’a pas encore été initialisée.

JET_errRestoreInProgress

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

JET_errTermInProgress

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

JET_errInvalidSesid

Le descripteur 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 ne sont validés qu’à titre d’effort optimal.

JET_errInvalidInstance

Le handle d’instance n’est pas valide ou fait référence à une instance qui a été arrêtée. Cette erreur n’est pas retournée dans toutes les circonstances. Les handles ne sont validés qu’à titre d’effort optimal.

Windows Vista : cette erreur est renvoyé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 la plus grande partie du paramètre système. Si la mémoire tampon de sortie a au moins un caractère de longueur, la chaîne de cette mémoire tampon de sortie se termine par une valeur null.

Remarque Cette erreur n’est pas renvoyée par toutes les mises en production. Pour plus d’informations, consultez la section Notes.

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.

Remarque Cette erreur n’est pas retournée dans certains cas pour préserver la compatibilité des applications. Pour plus d’informations, consultez la section Notes.

Windows Vista : cette erreur est renvoyé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é sera 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.

Remarques

Il existe un problème important dans cette API qui est présent 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 la totalité du paramètre système, JET_wrnBufferTruncated n’est 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 inférieure au terminateur null , l’appelant doit réagir comme si JET_wrnBufferTruncated étaient 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 étaient retournés.

Configuration requise

| | |

Client

|

requiert Windows Vista, Windows XP ou Windows 2000 Professional.

| |

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

|

Requiert 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