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