Función JetRegisterCallback

Se aplica a: Windows | Windows Server

Función JetRegisterCallback

La función JetRegisterCallback permite a la aplicación configurar el motor de base de datos para emitir notificaciones a la aplicación para eventos específicos. Estas notificaciones están asociadas a una tabla específica y permanecen en vigor solo hasta que la instancia que contiene la tabla se cierra mediante JetTerm.

Windows XP: JetRegisterCallback se presenta en Windows XP.

    JET_ERR JET_API JetRegisterCallback(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __in          JET_CBTYP cbtyp,
      __in          JET_CALLBACK pCallback,
      __in          void* pvContext,
      __out         JET_HANDLE* phCallbackId
    );

Parámetros

sesid

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

tableid

Cursor que se va a usar para esta llamada.

cbtyp

Máscara de bits compuesta por los motivos de devolución de llamada por los que la aplicación desea recibir notificaciones.

Para crear esta máscara de bits, simplemente o conjuntamente los motivos de devolución de llamada válidos de la enumeración JET_CBTYP .

pCallback

Puntero de función a la función de devolución de llamada de la aplicación.

pvContext

Especifica un puntero de contexto que se proporcionará a la función de devolución de llamada para la aplicación.

phCallbackId

Devuelve un identificador que se puede usar más adelante para cancelar el registro de la función de devolución de llamada dada mediante JetUnregisterCallback.

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_errInvalidParameter

Uno de los parámetros proporcionados contenía un valor inesperado o contenía un valor que no tenía sentido cuando se combinaba con el valor de otro parámetro. JetRegisterCallback devolverá este error cuando:

  • cbtyp es cero,

  • pCallback es NULL.

  • phCallbackId es NULL.

JET_errNotInitialized

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

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, la devolución de llamada especificada se registrará por los motivos de devolución de llamada especificados con la tabla asociada al cursor especificado. No se producirá ningún cambio en el estado de la base de datos.

Si se produce un error, la devolución de llamada no se registrará. No se producirá ningún cambio en el estado de la base de datos.

Comentarios

Este método proporciona un medio para que la aplicación asocie devoluciones de llamada volátiles a una tabla de una base de datos. Si la aplicación desea asociar devoluciones de llamada persistentes con una tabla de la base de datos, debe pasar la devolución de llamada a JET_TABLECREATE mediante JetCreateTableColumnIndex.

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_CALLBACK
JET_CBTYP
JET_ERR
JET_HANDLE
JET_SESID
JET_TABLEID
JetCreateTableColumnIndex
JetTerm
JetUnregisterCallback