Función JetPrereadKeys

Se aplica a: Windows | Windows Server

Función JetPrereadKeys

La función JetPrereadKeys lee los valores clave para mejorar el rendimiento de la limpieza del almacén de versiones.

Windows 7: La función PrereadKeys se introduce en 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
     );

Parámetros

sesid

Contexto de sesión de base de datos que se va a usar para la llamada API.

tableid

Cursor que se va a usar para esta llamada.

rgpvKeys

Matriz de punteros a claves. Las claves se pueden realizar con JetMakeKey o recuperarse con JetGetBookmark. Las claves deben ordenarse en orden ascendente o descendente, según el grbit pasado. Las claves se pueden ordenar con memcmp.

rgcbKeys

Matriz de longitudes de clave. rgpvKeys[n] debe apuntar a una clave de longitud rgcbKeys[n]

ckeys

Número de claves. rgpvKeys y rgcbKeys deben apuntar a una matriz con al menos elementos ckeys.

pckeysPreread

Devuelve el número de claves para las que se emitieron previamente los preprocesos. Este parámetro puede ser NULL.

grbit

Debe ser JET_bitPrereadForward o JET_bitPrereadBackward. Si grbit es JET_bitPrereadForward, las claves deben ordenarse en orden ascendente. Si grbit es JET_bitPrereadBackward, las claves deben ordenarse en orden descendente.

Valor devuelto

Esta función devuelve el tipo de datos JET_ERR con uno de los siguientes códigos de retorno. Para obtener más información sobre los posibles errores de ESE, vea Extensible Storage Engine Errors and Error Handling Parameters.

Se pueden devolver varios errores de E/S junto con estos errores de uso de API:

Código devuelto

Descripción

JET_errInvalidGrbit

Grbit no era JET_bitPrereadForward ni JET_bitPrereadBackward.

JET_errInvalidBufferSize

Se ha pasado un tamaño de clave incorrecto. Las claves no pueden ser 0 ni más largas que la longitud máxima de la clave de la tabla.

JET_errInvalidParameter

Se ha pasado un parámetro no válido. Esto puede deberse a un valor NULL para un parámetro necesario o puede indicar que la matriz de claves no está ordenada correctamente.

JetPrereadKeys recorre las páginas internas del árbol b para determinar qué páginas hoja contienen las claves especificadas por rgpvKeys/rgcbKeys. La lista de páginas hoja se ordena y, a continuación, se emiten preprocesos para los intervalos de páginas. El número de páginas que se pueden preprocesar es limitada, por lo que es posible que no todas las claves se puedan preprocesar. En ese caso, el número de claves realmente preprocesado se devuelve en pckeysPreread.

Requisitos

Requisito Value

Cliente

Requiere Windows 7.

Servidor

Requiere Windows Server 2008 R2.

Encabezado

Declarado en Esent.h.

Library

Use ESENT.lib.

Archivo DLL

Requiere ESENT.dll.