Fonction JetGetDatabaseInfo

S’applique à : Windows | Windows Server

Fonction JetGetDatabaseInfo

La fonction JetGetDatabaseInfo récupère différents types d’informations sur la base de données. Cette API peut être appelée lorsqu’une base de données est attachée ou en ligne (avec JetGetDatabaseInfo) ou lorsque la base de données ou le moteur de base de données est hors connexion (avec 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
    );

Paramètres

sesid

Session à utiliser pour cet appel.

dbid

Le JET_DBID de la base de données à partir de laquelle récupérer les informations.

pvResult

Pointeur vers une mémoire tampon qui recevra les informations spécifiées. La taille de la mémoire tampon, en octets, est passée en cbMax.

En cas de défaillance, le contenu de pvResult n’est pas défini.

Les informations stockées dans pvResult dépendent d’InfoLevel.

cbMax

Taille, en octets, de la mémoire tampon passée dans pvResult.

InfoLevel

InfoLevel spécifie le type d’informations à récupérer sur la base de données spécifiée. Cela affecte la façon dont pvResult est interprété. Certaines infoLevel sont disponibles uniquement dans la version hors connexion (JetGetDatabaseFileInfo) ou en ligne (JetGetDatabaseInfo) de l’API.

Si la mémoire tampon pvResult fournie est trop petite, JET_errInvalidBufferSize ou JET_errBufferTooSmall sont retournés en fonction de l’InfoLevel.

Valeur

Signification

JET_DbInfoCollate

Non encore pris en charge et retourne les valeurs par défaut. Ne pas utiliser.

JET_DbInfoConnect

Ces InfoLevels sont déconseillés et ne sont actuellement pas pris en charge. Ne pas utiliser.

JET_DbInfoCountry

Non encore pris en charge et retourne les valeurs par défaut. Ne pas utiliser.

JET_DbInfoCp

Non encore pris en charge et retourne les valeurs par défaut. Ne pas utiliser.

JET_DbInfoFilename

pvResult sera interprété comme une mémoire tampon de chaîne (char *). Une mémoire tampon MAX_PATH est suggérée, mais elle n’est pas obligatoire. Si la mémoire tampon n’est pas suffisamment longue, JET_errBufferTooSmall est retournée. La chaîne est remplie avec le chemin de la base de données pour ce DBID.

JET_DbInfoFilesize

pvResult sera interprété comme un DWORD (4 octets). Retourne la taille de la base de données en pages.

JET_DbInfoIsam

Ces InfoLevels sont déconseillés et ne sont actuellement pas pris en charge. Ne pas utiliser.

JET_DbInfoLCID

(Windows XP et versions ultérieures) Cette infoLevel a été spécifiée à l’origine comme suit : JET_DbInfoLangid (Windows 2000)

pvResult sera interprété comme un long. Retourne l’identificateur de paramètres régionaux (LCID) associé à cette base de données.

JET_DbInfoMisc

pvResult sera interprété comme un JET_DBINFOMISC. La structure JET_DBINFOMISC est remplie avec des informations relatives à la base de données spécifiée.

JET_DbInfoOptions

pvResult sera interprété comme un JET_GRBIT (DWORD). Cette opération retourne si la base de données est ouverte en mode exclusif. Si la base de données est en mode exclusif JET_bitDbExclusive est défini dans le JET_GRBIT fourni, sinon zéro est défini. Notez que les autres options grbit de base de données pour JetAttachDatabase et JetOpenDatabase ne sont pas retournées.

JET_DbInfoPageSize

Disponible uniquement sur Windows XP et versions ultérieures. pvResult sera interprété comme un long non signé. Cette opération retourne la taille de page de la base de données en octets.

JET_DbInfoSpaceAvailable

pvResult sera interprété comme un DWORD. Cela retourne l’espace disponible pour la base de données dans les pages.

JET_DbInfoSpaceOwned

pvResult sera interprété comme un DWORD. Cela retourne l’espace détenu pour la base de données dans les pages.

JET_DbInfoTransactions

pvResult sera interprété comme un long. Cela retourne une valeur supérieure au niveau maximal auquel les transactions peuvent être imbriquées. Si JetBeginTransaction est appelé (de manière à imbriquer, c’est-à-dire sur la même session, sans validation ou restauration) autant de fois que cette valeur, le dernier appel JET_errTransTooDeep est retourné par JetBeginTransaction. Notez que la valeur dans Windows 2000, Windows XP et Windows Server 2003 est 7.

JET_DbInfoVersion

pvResult sera interprété comme un long. Cette opération retourne la version principale native du moteur de base de données. Cette valeur est 0x620 pour Windows 2000, Windows XP et Windows Server 2003.

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_errBufferTooSmall

La taille de la mémoire tampon indiquée dans cbMax était trop petite (ou incorrecte) pour contenir les informations souhaitées.

JET_errFeatureNotAvailable

L’InfoLevel demandé a été JET_DbInfoIsam. Cela n'est pas pris en charge.

JET_errInvalidBufferSize

La taille de la mémoire tampon indiquée dans cbMax était trop petite (ou incorrecte) pour contenir les informations souhaitées.

JET_errInvalidParameter

L’un des paramètres fournis contenait une valeur inattendue ou contenait une valeur qui n’était pas pertinente lorsqu’elle était combinée avec la valeur d’un autre paramètre. Cette erreur est retournée par JetGetDatabaseInfo lorsque le JET_DBID fourni n’est pas une base de données (jointe) valide. Cette erreur est retournée par JetGetDatabaseFileInfo et JetGetDatabaseInfo lorsqu’un InfoLevel demandé n’est pas pris en charge par cette version de la fonction.

En cas de réussite, les données demandées sont retournées dans la mémoire tampon de sortie.

En cas d’échec, la mémoire tampon de sortie est dans un état non défini.

Spécifications

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 JetGetDatabaseInfoW (Unicode) et JetGetDatabaseInfoA (ANSI).

Voir aussi

JET_DBID
JET_ERR
JET_GRBIT
JET_SESID
JET_DBINFOMISC
JET_DBINFOUPGRADE
JetGetDatabaseFileInfo