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