Partager via


Fonction JetPrereadKeys

S’applique à : Windows | Windows Server

Fonction JetPrereadKeys

La fonction JetPrereadKeys lit les valeurs de clé pour améliorer les performances du nettoyage du magasin de versions.

Windows 7 : La fonction PrereadKeys est introduite dans Windows 7.

    JET_ERR JET_API JetPrereadKeys(
      __in JET_SESID sesid,
      __in JET_TABLEID tableid,
      __in_ecount(ckeys) const void ** rgpvKeys,
      __in_ecount(ckeys) const unsigned long * rgcbKeys,
      __in long ckeys,
      __out_opt long * pckeysPreread,
      __in JET_GRBIT grbit
     );

Paramètres

sesid

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

tableid

Curseur à utiliser pour cet appel.

rgpvKeys

Tableau de pointeurs vers des clés. Les clés peuvent être effectuées avec JetMakeKey ou récupérées avec JetGetBookmark. Les clés doivent être triées dans l’ordre croissant ou décroissant, en fonction du grbit passé. Les clés peuvent être triées avec memcmp.

rgcbKeys

Tableau de longueurs de clé. rgpvKeys[n] doit pointer vers une clé de longueur rgcbKeys[n]

ckeys

Nombre de clés. rgpvKeys et rgcbKeys doivent chacune pointer vers un tableau avec au moins des éléments ckeys.

pckeysPreread

Retourne le nombre de clés pour laquelle les pré-lues ont été réellement émises. Ce paramètre peut être NULL.

grbit

Ce doit être JET_bitPrereadForward ou JET_bitPrereadBackward. Si grbit est JET_bitPrereadForward, les clés doivent être triées dans l’ordre croissant. Si grbit est JET_bitPrereadBackward, les clés doivent être triées dans l’ordre décroissant.

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.

Diverses erreurs d’E/S peuvent être retournées, ainsi que les erreurs d’utilisation de l’API suivantes :

Code de retour

Description

JET_errInvalidGrbit

Grbit n’était ni JET_bitPrereadForward ni JET_bitPrereadBackward.

JET_errInvalidBufferSize

Une taille de clé incorrecte a été passée. Les clés ne peuvent pas être 0 ni supérieure à la longueur de clé maximale de la table.

JET_errInvalidParameter

Un paramètre non valide a été passé. Cela peut être dû à une valeur Null pour un paramètre obligatoire ou peut indiquer que le tableau de clés n’est pas correctement trié.

JetPrereadKeys traverse les pages internes de l’arborescence b pour déterminer quelles pages feuilles contiennent les clés spécifiées par rgpvKeys/rgcbKeys. La liste des pages feuilles est triée, puis les prélectures sont émises pour les plages de pages. Le nombre de pages pouvant être prélues étant limité, il est possible que toutes les clés ne soient pas prélues. Dans ce cas, le nombre de clés réellement pré-lues est retourné dans pckeysPreread.

Spécifications

Condition requise Valeur

Client

Nécessite Windows 7.

Serveur

Nécessite Windows Server 2008 R2.

En-tête

Déclaré dans Esent.h.

Bibliothèque

Utilisez ESENT.lib.

DLL

Nécessite ESENT.dll.