Partager via


Fonction JetGetTableInfo

S’applique à : Windows | Windows Server

Fonction JetGetTableInfo

La fonction JetGetTableInfo récupère diverses informations sur une table d’une base de données.

    JET_ERR JET_API JetGetTableInfo(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __out         void* pvResult,
      __in          unsigned long cbMax,
      __in          unsigned long InfoLevel
    );

Paramètres

sesid

Contexte de session de base de données à utiliser pour l’appel d’API.

tableid

Table à laquelle les informations s’appliquent.

pvResult

Pointeur vers une mémoire tampon qui recevra les informations. Le type de la mémoire tampon dépend d’InfoLevel. Il incombe à l’appelant d’aligner la mémoire tampon de manière appropriée.

cbMax

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

InfoLevel

Type d’informations qui seront récupérées pour la table spécifiée par tableid. Le format des données stockées dans pvResult dépend d’InfoLevel.

Les options suivantes peuvent être définies pour ce paramètre :

Valeur

Signification

JET_TblInfo

pvResult est interprété comme une structure JET_OBJECTINFO . Si la méthode réussit, la structure JET_OBJECTINFO est remplie avec les données appropriées. En cas d’échec, le contenu n’est pas défini.

JET_TblInfoDbid

pvResult est traité comme un tableau de deux objets JET_DBID . L’identificateur de base de données de la base de données propriétaire de la table est stocké deux fois dans ce tableau.

JET_TblInfoDumpTable

JET_TblInfoDumpTable est déconseillé. L’API retourne JET_errFeatureNotAvailable.

JET_TblInfoName

JET_TblInfoName récupère le nom de la table et le stocke dans pvResult. Si la mémoire tampon est trop petite, le comportement n’est pas défini.

JET_TblInfoMostMany

JET_TblInfoMostMany récupère le nom de la table et le stocke dans pvResult. Si la mémoire tampon est trop petite, le comportement n’est pas défini.

JET_TblInfoOLC

JET_TblInfoOLC est déconseillé. L’API retourne JET_errFeatureNotAvailable.

JET_TblInfoRvt

JET_TblInfoRvt est déconseillé. L’API retourne JET_errQueryNotSupported.

JET_TblInfoResetOLC

JET_TblInfoResetOLC est déconseillé. L’API retourne JET_errFeatureNotAvailable.

JET_TblInfoSpaceAlloc

pvResult est interprété comme un tableau de deux ULONG :

  • Le premier ULONG correspond au nombre de pages de la table.

  • Le deuxième ULONG est la densité cible des pages pour la table.

JET_TblInfoSpaceAvailable

pvResult est interprété comme un ULONG. L’ULONG est la somme du nombre de pages disponibles dans la table, de ses index et de l’arborescence de valeurs longue.

JET_TblInfoSpaceOwned

pvResult est interprété comme un ULONG. L’ULONG correspond à la somme du nombre de pages appartenant à la table (y compris ses index, l’arborescence de valeurs longue et toutes les pages disponibles dans celle-ci).

JET_TblInfoSpaceUsage

Le comportement de l’API dépend de la taille de la mémoire tampon passée à l’API. Deux valeurs cbMax doivent être au moins ( 2 * sizeof( ULONG ) ).

  • Si cbMax est ( 2 * sizeof( ULONG ) ), pvResult est interprété comme un tableau de deux ULONG :

    • Le premier ULONG correspond au nombre d’étendues détenues de la table.

    • Le deuxième ULONG correspond au nombre d’étendues disponibles de la table.

  • pvResult est interprété comme un tableau de :

    • Le premier ULONG correspond au nombre d’étendues détenues de la table.

    • Le deuxième ULONG correspond au nombre d’étendues disponibles de la table.

JET_TblInfoTemplateTableName

pvResult est interprété comme une mémoire tampon de chaîne. La mémoire tampon doit être au moins JET_cbNameMost + 1, y compris la valeur NULL de fin. Si la table est une table dérivée, la mémoire tampon est remplie avec le nom de la table à partir de laquelle la table dérivée a hérité de son DDL. Si la table n’est pas une table dérivée, la mémoire tampon est une chaîne vide.

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 mémoire tampon était trop petite.

JET_errFeatureNotAvailable

Un InfoLevel déprécié a été spécifié.

JET_errInvalidBufferSize

La mémoire tampon n’était pas la bonne taille.

JET_errInvalidOperation

La table qui a été transmise était une table temporaire, et l’InfoLevel demandé ne peut pas être récupéré pour une table temporaire.

JET_errObjectNotFound

La table qui a été transmise était une table temporaire, et l’InfoLevel demandé ne peut pas être récupéré pour une table temporaire.

JET_errQueryNotSupported

InfoLevel n’est pas pris en charge.

JET_errTableInUse

La table est utilisée par une autre opération de base de données.

JET_errTableLocked

La table est verrouillée par une autre opération de base de données.

JET_wrnTableInUseBySystem

La table est utilisée par le système. Cet avertissement n’est pas mortel.

Notes

Certaines informations ne sont pas valides pour les tables temporaires (voir JetOpenTempTable).

Les statistiques de table incluent le nombre d’enregistrements et le nombre de pages dans l’index cluster (autrement dit, l’index contenant les données d’enregistrement). Les statistiques d’index sont accessibles séparément par nom, à l’aide de JetGetIndexInfo ou JetGetTableIndexInfo.

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 JetGetTableInfoW (Unicode) et JetGetTableInfoA (ANSI).

Voir aussi

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JET_OBJECTINFO
JetGetIndexInfo
JetGetObjectInfo
JetGetTableIndexInfo
JetOpenTempTable