Partager via


Fonction JetGetRecordSize

S’applique à : Windows | Windows Server

Fonction JetGetRecordSize

La fonction JetGetRecordSize récupère les informations de taille d’enregistrement à partir de l’emplacement souhaité.

Windows Vista : JetGetRecordSize est introduit dans Windows Vista.

    JET_ERR JET_API JetGetRecordSize(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __out         JET_RECSIZE* precsize,
      __in          const JET_GRBIT grbit
    );

Paramètres

sesid

Identifie le contexte de session de base de données qui sera utilisé pour l’appel d’API.

tableid

Identifie la table ou le curseur qui sera utilisé pour l’appel d’API. Le curseur doit être positionné sur un enregistrement ou une mise à jour doit être préparée.

précize

Pointeur vers une mémoire tampon de sortie pour la structure JET_RECSIZE .

grbit

Il s’agit de l’une ou plusieurs des valeurs suivantes.

Valeur

Signification

JET_bitRecordSizeInCopyBuffer

Cette opération récupère la taille de l’enregistrement qui se trouve dans la mémoire tampon de copie préparée pour la mise à jour. Sinon, le tableid ou le curseur doit être positionné sur un enregistrement et cet enregistrement sera utilisé.

JET_bitRecordSizeRunningTotal

Lorsque ce bit est spécifié, le JET_RECSIZE n’est pas mis à zéro avant de remplir le contenu, ce qui agit en fait comme une accumulation des statistiques pour plusieurs enregistrements visités ou mis à jour.

JET_bitRecordSizeLocal

Cela oblige l’API à ignorer les valeurs longues non intrinsèques. Par exemple, seul l’enregistrement local de la page sera utilisé.

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_errInvalidGrbit

L’une des options demandées n’était pas valide ou n’était pas implémentée. Cette erreur est retournée par la fonction JetGetRecordSize lorsqu’un grbit non autorisé est spécifié.

JET_errNotInitialized

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

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_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.

Windows XP : JET_errInstanceUnavailable seront retournés uniquement par Windows XP et versions ultérieures.

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_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_errSessionSharingViolation

Il est interdit d’utiliser la même session à partir de plusieurs threads en même temps.

Windows XP : JET_errInstanceUnavailable seront retournés uniquement par Windows XP et versions ultérieures.

JET_errNoCurrentRecord

Cela peut se produire si le curseur n’a pas été positionné correctement.

JET_errRecordDeleted

Si le curseur n’a pas été positionné dans une transaction, cela peut se produire si un autre thread supprime l’enregistrement sous cette session.

JET_errInvalidParameter

Cela peut être retourné si une précizeNULL a été passée.

Notes

La taille de la clé accumulée dans le champ cbOverhead de JET_RECSIZE est affectée par JET_bitRecordSizeInCopyBuffer. Si ce bit est spécifié, la taille de clé accumulée dans le champ cbOverhead est la taille de clé complète. Si ce bit n’est pas utilisé, la taille de clé accumulée n’inclut aucune taille enregistrée en raison de la compression du préfixe de clé.

Spécifications

Condition requise Valeur

Client

Nécessite Windows Vista.

Serveur

Nécessite Windows Server 2008.

En-tête

Déclaré dans Esent.h.

Bibliothèque

Utilisez ESENT.lib.

DLL

Nécessite ESENT.dll.

Voir aussi

JET_ERR
JET_GRBIT
JET_SESID
JET_RECSIZE
JET_TABLEID