Compartir a través de


Función JetGotoSecondaryIndexBookmark

Se aplica a: Windows | Windows Server

Función JetGotoSecondaryIndexBookmark

La función JetGotoSecondaryIndexBookmark coloca un cursor en una entrada de índice asociada al marcador de índice secundario especificado. El marcador de índice secundario debe usarse con el mismo índice en la misma tabla desde la que se recuperó originalmente. El marcador de índice secundario de una entrada de índice se puede recuperar mediante JetGotoSecondaryIndexBookmark.

Windows XP:JetGotoSecondaryIndexBookmark se introduce en Windows XP.

    JET_ERR JET_API JetGotoSecondaryIndexBookmark(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __in          void* pvSecondaryKey,
      __in          unsigned long cbSecondaryKey,
      __in_opt      void* pvPrimaryBookmark,
      __in          unsigned long cbPrimaryBookmark,
      __in          const JET_GRBIT grbit
    );

Parámetros

sesid

La sesión que se va a usar para esta llamada.

tableid

Cursor que se va a usar para esta llamada.

pvSecondaryKey

Búfer que contiene la clave secundaria que se va a usar para colocar el cursor.

cbSecondaryKey

Tamaño de la clave secundaria en el búfer.

pvPrimaryBookmark

Búfer que contiene el marcador de clave principal que se va a usar para colocar el cursor.

cbPrimaryBookmark

Tamaño del marcador de clave principal en el búfer.

grbit

Un grupo de bits que especifica cero o más de las siguientes opciones.

Valor

Significado

JET_bitBookmarkPermitVirtualCurrency

En caso de que ya no se encuentre la entrada de índice, el cursor se colocará donde se encontró anteriormente esa entrada de índice. La operación seguirá fallando con JET_errRecordDeleted; sin embargo, será posible pasar a la entrada de índice siguiente o anterior con respecto a la entrada de índice que ahora falta.

Valor devuelto

Esta función devuelve el JET_ERR tipo de datos 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.

Código devuelto

Descripción

JET_errSuccess

La operación se ha completado correctamente.

JET_errClientRequestToStopJetService

La operación no se puede completar porque toda la actividad de la instancia asociada a la sesión ha dejado de funcionar como resultado de una llamada a JetStopService.

JET_errInstanceUnavailable

La operación no se puede completar porque se debe a que la instancia asociada a la sesión ha encontrado un error irrecuperable que requiere que se revoque el acceso a todos los datos para proteger la integridad de esos datos.

Windows XP: Este valor devuelto se introduce en Windows XP.

JET_errInvalidBookmark

El marcador de índice secundario que se proporcionó no era válido. Este error podría haberse producido porque la clave secundaria es cero o el puntero del búfer de clave secundaria es NULL. Este error se produce porque

  • El índice secundario actual no tiene una restricción de unicidad y el tamaño del marcador proporcionado es cero.

  • El puntero del búfer de marcador es NULL.

JET_errNoCurrentIndex

El cursor no está actualmente en un índice secundario. No es significativo ir a un marcador de índice secundario cuando el cursor no usa actualmente un índice secundario. JetGotoBookmark debe usarse cuando el cursor no está en un índice secundario.

JET_errNotInitialized

La operación no se puede completar porque la instancia asociada a la sesión aún no se ha inicializado.

JET_errRecordDeleted

No se encontró la entrada de índice asociada al marcador de índice secundario.

JET_errRestoreInProgress

La operación no se puede completar porque hay una operación de restauración en curso en la instancia asociada a la sesión.

JET_errSessionSharingViolation

No se puede usar la misma sesión para más de un subproceso al mismo tiempo.

Windows XP: Este valor devuelto se introduce en Windows XP.

JET_errTermInProgress

La operación no se puede completar porque la instancia asociada a la sesión se está cerrando.

Si esta función se ejecuta correctamente, el cursor se colocará en una entrada de índice asociada al marcador de índice secundario especificado. Si se ha preparado un registro para la actualización, esa actualización se cancelará. Si un intervalo de índices está en vigor, se cancelará ese intervalo de índices. Si se ha construido una clave de búsqueda para que se use el cursor, se eliminará esa clave de búsqueda. No se producirá ningún cambio en el estado de la base de datos.

Si se produce un error en esta función, la posición del cursor permanece sin cambios a menos que se devuelva JET_errRecordDeleted y se especifique JET_bitBookmarkPermitVirtualCurrency. En ese caso, el cursor se colocará donde habría sido la entrada de índice asociada al marcador de índice secundario especificado. El cursor se puede mover con respecto a esa posición, pero todavía no está en una entrada de índice válida.

Si se ha preparado un registro para la actualización, esa actualización se cancelará. Si un intervalo de índices está en vigor, se cancelará ese intervalo de índices. Si se ha construido una clave de búsqueda para que se use el cursor, se eliminará esa clave de búsqueda. En cualquier caso, no se producirá ningún cambio en el estado de la base de datos.

Requisitos

Requisito Value

Cliente

Requiere Windows Vista o Windows XP.

Servidor

Requiere Windows Server 2008 o Windows Server 2003.

Encabezado

Declarado en Esent.h.

Library

Use ESENT.lib.

Archivo DLL

Requiere ESENT.dll.

Consulte también

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetGetSecondaryIndexBookmark
JetGotoBookmark
JetStopService