Función JetDupCursor
Se aplica a: Windows | Windows Server
Función JetDupCursor
La función JetDupCursor duplica un cursor abierto y devuelve un identificador al cursor duplicado. Si el cursor duplicado era un cursor de solo lectura, el cursor duplicado también es un cursor de solo lectura. Cualquier estado relacionado con la construcción de una clave de búsqueda o la actualización de un registro no se copia en el cursor duplicado. Además, la ubicación del cursor original no se duplica en el cursor duplicado. El cursor duplicado siempre se abre en el índice agrupado y su ubicación siempre está en la primera fila de la tabla.
JET_ERR JET_API JetDupCursor(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__out JET_TABLEID* ptableid,
__in 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.
ptableid
Puntero al tableid.
grbit
Reservado para uso futuro.
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 |
No es posible completar la operación 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 |
No es posible completar la operación 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. Este error solo lo devolverá Windows XP y versiones posteriores. |
JET_errNotInitialized |
No es posible completar la operación porque la instancia asociada a la sesión aún no se ha inicializado. |
JET_errOutOfCursors |
No existen recursos de cursor disponibles. |
JET_errRestoreInProgress |
No es posible completar la operación porque una operación de restauración está 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. Este error solo lo devolverá Windows XP y versiones posteriores. |
JET_errTermInProgress |
No es posible completar la operación porque la instancia asociada a la sesión se está cerrando. |
Si se ejecuta correctamente, ptableid se establece en un cursor duplicado.
Si se produce un error, no se realizan cambios. El estado del tableid no cambia.
Observaciones
El cursor duplicado no tiene copiado todo el estado del cursor. La ubicación del cursor duplicado, incluido el índice actual, suele ser diferente del cursor especificado. El cursor duplicado siempre se devuelve en el índice agrupado y en la primera fila de la tabla. Si la tabla está vacía, el cursor duplicado no está en ninguna fila.
Las tablas abiertas con JetDupCursor normalmente deben cerrarse con JetCloseTable. La excepción a esta regla se produce cuando se llama a JetDupCursor en una transacción y la transacción se revierte (con JetRollback). Al revertir una transacción, el cursor se cierra automáticamente. En este caso, es un error cerrar la tabla con JetCloseTable.
El número de tablas que se pueden abrir simultáneamente se ve afectada directamente por JET_paramMaxOpenTables. Consulte Parámetros del sistema para obtener más información.
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_GRBIT
JET_SESID
JET_TABLEID
JetCloseTable
JetRollback
JetStopService
Parámetros del sistema