Compartilhar via


Função JetRegisterCallback

Aplica-se a: Windows | Windows Server

Função JetRegisterCallback

A função JetRegisterCallback permite que o aplicativo configure o mecanismo de banco de dados para emitir notificações ao aplicativo para eventos específicos. Essas notificações são associadas a uma tabela específica e permanecem em vigor somente até que a instância que contém a tabela seja desligada usando JetTerm.

Windows XP: JetRegisterCallback é introduzido no 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

A sessão a ser usada para essa chamada.

Tableid

O cursor a ser usado para essa chamada.

cbtyp

Uma máscara de bits composta pelos motivos de retorno de chamada para os quais o aplicativo deseja receber notificações.

Para criar essa máscara de bits, basta ou juntos motivos de retorno de chamada válidos da enumeração JET_CBTYP .

pCallback

O ponteiro de função para a função de retorno de chamada para o aplicativo.

pvContext

Especifica um ponteiro de contexto que será fornecido à função de retorno de chamada para o aplicativo.

phCallbackId

Retorna um identificador que pode ser usado posteriormente para cancelar o registro da função de retorno de chamada fornecida usando JetUnregisterCallback.

Valor Retornado

Essa função retorna o tipo de dados JET_ERR com um dos seguintes códigos de retorno. Para obter mais informações sobre os possíveis erros de ESE, consulte Erros extensíveis do mecanismo de armazenamento e parâmetros de tratamento de erros.

Código de retorno

Descrição

JET_errSuccess

A operação foi concluída com sucesso.

JET_errClientRequestToStopJetService

Não é possível concluir a operação porque todas as atividades na instância associada à sessão cessaram como resultado de uma chamada para JetStopService.

JET_errInstanceUnavailable

Não é possível concluir a operação porque a instância associada à sessão encontrou um erro fatal que exige que o acesso a todos os dados seja revogado para proteger a integridade desses dados. Esse erro só será retornado pelo Windows XP e versões posteriores.

JET_errInvalidParameter

Um dos parâmetros fornecidos continha um valor inesperado ou continha um valor que não fazia sentido quando combinado com o valor de outro parâmetro. Esse erro será retornado por JetRegisterCallback quando:

  • cbtyp é zero,

  • pCallback é NULL.

  • phCallbackId é NULL.

JET_errNotInitialized

Não é possível concluir a operação porque a instância associada à sessão ainda não foi inicializada.

JET_errRestoreInProgress

Não é possível concluir a operação porque uma operação de restauração está em andamento na instância associada à sessão.

JET_errSessionSharingViolation

A mesma sessão não pode ser usada para mais de um thread ao mesmo tempo. Esse erro só será retornado pelo Windows XP e versões posteriores.

JET_errTermInProgress

Não é possível concluir a operação porque a instância associada à sessão está sendo desligada.

Em caso de êxito, o retorno de chamada especificado será registrado pelos motivos de retorno de chamada fornecidos com a tabela associada ao cursor fornecido. Nenhuma alteração no estado do banco de dados ocorrerá.

Em caso de falha, o retorno de chamada não será registrado. Nenhuma alteração no estado do banco de dados ocorrerá.

Comentários

Esse método fornece um meio para o aplicativo associar retornos de chamada voláteis a uma tabela em um banco de dados. Se o aplicativo quiser associar retornos de chamada persistentes a uma tabela no banco de dados, ele deverá passar o retorno de chamada para JET_TABLECREATE usando JetCreateTableColumnIndex.

Requisitos

Requisito Valor

Cliente

Requer o Windows Vista ou o Windows XP.

Servidor

Requer o Windows Server 2008 ou o Windows Server 2003.

Cabeçalho

Declarado em Esent.h.

Biblioteca

Use ESENT.lib.

DLL

Requer ESENT.dll.

Consulte Também

JET_CALLBACK
JET_CBTYP
JET_ERR
JET_HANDLE
JET_SESID
JET_TABLEID
JetCreateTableColumnIndex
JetTerm
JetUnregisterCallback