Función JetGotoBookmark

Se aplica a: Windows | Windows Server

Función JetGotoBookmark

La función JetGotoBookmark coloca un cursor en una entrada de índice para el registro asociado al marcador especificado. El marcador se puede usar con cualquier índice definido en una tabla. El marcador de un registro se puede recuperar mediante JetGetBookmark.

    JET_ERR JET_API JetGotoBookmark(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __in          void* pvBookmark,
      __in          unsigned long cbBookmark
    );

Parámetros

sesid

Sesión que se va a usar para esta llamada.

tableid

Cursor que se va a usar para esta llamada.

pvBookmark

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

cbBookmark

Tamaño del marcador en el búfer.

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.

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 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 introdujo en Windows XP.

JET_errInvalidBookmark

El marcador proporcionado no es válido. Esto puede haberse producido porque el tamaño del marcador es cero o el puntero del búfer de marcador es NULL.

JET_errNoCurrentRecord

El cursor está en un índice secundario y no se pudo encontrar ninguna entrada de índice para el registro asociado al marcador.

JET_errNotInitialized

No es posible completar la operación porque la instancia asociada a la sesión aún no se ha inicializado.

JET_errRecordDeleted

No se encontró el registro asociado al marcador.

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 introdujo 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 realiza correctamente, el cursor se colocará en una entrada de índice para el registro asociado al marcador especificado. Si se ha preparado un registro para la actualización, esa actualización se cancelará. Si un intervalo de índice está en vigor, se cancelará ese intervalo de índice. Si se ha construido una clave de búsqueda para 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 permanecerá sin cambios. Si se ha preparado un registro para la actualización, esa actualización se cancelará. Si un intervalo de índice está en vigor, se cancelará ese intervalo de índice. Si se ha construido una clave de búsqueda para el cursor, se eliminará esa clave de búsqueda. No se producirá ningún cambio en el estado de la base de datos.

Observaciones

Hay dos maneras de usar un marcador para colocar un cursor en un índice. La primera consiste en usar el marcador para colocar directamente en el registro. Esto ocurre cuando el índice actual del cursor es el índice principal. Esta técnica funciona porque un marcador ESENT es el mismo que la clave principal del registro asociado.

La segunda manera de usar un marcador es colocarlo en una entrada de un índice secundario que corresponde al registro asociado a ese marcador. Durante este proceso, el motor busca el registro real mediante el marcador en el índice principal. A continuación, usa los datos de registro y la definición del índice secundario para calcular una clave en el índice secundario que apunta al registro. A continuación, coloca el cursor en la entrada de índice para esa clave. Si el cursor se encuentra actualmente en un índice secundario sobre una o varias columnas de clave con varios valores, el cursor se colocará en la entrada de índice correspondiente al primer valor múltiple de cada una de esas columnas de clave.

Requisitos

Requisito Value

Cliente

Requiere Windows Vista, Windows XP o Windows 2000 Professional.

Server

Requiere Windows Server 2008, Windows Server 2003 o Windows 2000 Server.

Encabezado

Declarado en Esent.h.

Library

Use ESENT.lib.

DLL

Requiere ESENT.dll.

Consulte también

JET_ERR
JET_SESID
JET_TABLEID
JetGetBookmark