Función JetGetRecordPosition
Se aplica a: Windows | Windows Server
Función JetGetRecordPosition
La función JetGetRecordPosition devuelve la posición fraccionararia del registro actual en el índice actual en forma de una estructura de JET_RECPOS . Esta estructura describe las posiciones fraccionarios en términos de un número aproximado de entradas de índice antes del registro actual y un número total aproximado de entradas en el índice.
JET_ERR JET_API JetGetRecordPosition(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__out JET_RECPOS* precpos,
__in unsigned long cbRecpos
);
Parámetros
sesid
La sesión que se va a usar para esta llamada.
tableid
Cursor que se va a usar para esta llamada.
precpos
Descripción de la fracción que se va a usar para obtener la posición del registro actual en el índice actual.
cbRecpos
Tamaño de la memoria asignada en precpos.
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_errNotInitialized |
No es posible completar la operación porque la instancia asociada a la sesión aún no se ha inicializado. |
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 |
Esta operación no se puede completar porque la instancia, asociada a la sesión, encontró un error irrecuperable. Es necesario que se revoque el acceso a todos los datos para proteger la integridad de esos datos. Windows 2000: El sistema operativo Windows 2000 no devolverá este error. |
JET_errInvalidParameter |
El tamaño de la memoria asignada en precpos no es un tamaño suficiente. |
JET_errNoCurrentRecord |
El cursor no está actualmente en un registro y no puede devolver una posición. |
JET_errRestoreInProgress |
No es posible completar la operación 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 2000: El sistema operativo Windows 2000 no devolverá este error. |
JET_errTermInProgress |
La operación no se puede completar porque la instancia asociada a la sesión se está cerrando. |
Si se ejecuta correctamente, se devuelve el número aproximado de entradas de índice anteriores al registro actual del índice en precpos-centriesLT>. 1 se devuelve en precpos-centriesInRange>. El número aproximado de entradas del índice se devuelve en precpos-centriesTotal>.
Si se produce un error, no se realizan cambios en la memoria asignada en los precpos.
Comentarios
Esta operación devuelve datos variables cuando las actualizaciones se producen continuamente en la tabla. Los cambios en los valores no siempre coincidirán con las expectativas basadas en el conocimiento de las actualizaciones, ya que los valores son aproximaciones basadas en propiedades físicas del índice. El aislamiento transaccional no se aplica a las posiciones de JetGetRecordPosition , ya que los valores dependen de las propiedades físicas del índice que no están aisladas de transacciones.
JET_RECPOS no debe usarse para describir un registro dentro de una tabla o para cambiar la posición de un registro cerca de un registro existente. En su lugar, los marcadores de un registro existente deben recuperarse y, a continuación, usarse para cambiar la posición del mismo registro.
Requisitos
Requisito | Value |
---|---|
Cliente |
Requiere Windows Vista, Windows XP o Windows 2000 Professional. |
Servidor |
Requiere Windows Server 2008, Windows Server 2003 o Windows 2000 Server. |
Encabezado |
Declarado en Esent.h. |
Library |
Use ESENT.lib. |
Archivo DLL |
Requiere ESENT.dll. |
Consulte también
JET_COLUMNID
JET_ERR
JET_SESID
JET_TABLEID
JET_RECPOS
JET_SETINFO
JetGotoPosition
JetStopService