Função JetTerm

Aplica-se a: Windows | Windows Server

Função JetTerm

A função JetTerm inicia o desligamento de uma instância que foi inicializada pelo JetInit.

JetTerm também pode ser usado para destruir uma instância não inicializada que foi criada por JetCreateInstance.

    JET_ERR JET_API JetTerm(
      __in          JET_INSTANCE instance
    );

Parâmetros

instance

Especifica a instância a ser usada para essa chamada.

Windows 2000: Esse parâmetro é ignorado e sempre deve ser NULL.

Windows XP e versões posteriores: Esse parâmetro está sobrecarregado. Se o mecanismo estiver operando no modo herdado (modo de compatibilidade do Windows 2000) em que apenas uma instância tem suporte, esse parâmetro poderá ser NULL ou conter a instância real retornada pelo JetInit. Se o mecanismo estiver operando no modo de várias instâncias, esse parâmetro deverá ser um ponteiro para uma instância que foi criada usando JetCreateInstance.

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_errInvalidParameter

Um dos parâmetros fornecidos continha um valor inesperado ou a combinação de vários parâmetros gerava um resultado inesperado. Esse erro será retornado pelo JetTerm quando o mecanismo estiver no modo de várias instâncias e quando pinstance se referir a uma instância inválida.

Windows XP: Esse valor retornado é introduzido no Windows XP.

JET_errNotInitialized

A operação não pode ser concluída porque a instância ainda não foi inicializada.

JET_errTermInProgress

A operação não pode ser concluída porque a instância está sendo desligada.

JET_errRestoreInProgress

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

JET_errBackupInProgress

A operação não pode ser concluída porque uma operação de backup está em andamento na instância .

JET_errTooManyActiveUsers

A instância não pode ser desligada porque atualmente há sessões com transações ativas para a instância especificada. Esse erro ocorrerá somente se o JET_bitTermComplete for usado.

Se essa função for bem-sucedida, a instância especificada será desligada. O identificador de instância também será fechado e ficará indisponível para qualquer API que usa um identificador de instância. Todos os outros objetos associados à instância, como sessões, também serão fechados. O estado do arquivo de ponto de verificação, os arquivos de log de transações e os arquivos de banco de dados anexados à instância serão modificados durante o processo de desligamento.

Se essa função falhar como resultado de um erro de uso, a instância permanecerá em um estado inicializado e nada será alterado. Caso contrário, a instância ainda será desligada de acordo com o caso de êxito. A diferença é que a instância precisará passar pela recuperação de falhas quando for inicializada em seguida. O mecanismo tentará liberar o máximo de dados possível para minimizar a quantidade de recuperação necessária. Conceitualmente, tal falha do JetTerm não é diferente de uma falha de processo.

Comentários

Se o processo de host de uma instância for encerrado por qualquer motivo antes que JetTerm seja chamado com êxito nessa instância, a instância será considerada em estado de falha. A recuperação de falhas ocorrerá na próxima tentativa de inicializar essa instância.

Requisitos

Requisito Valor

Cliente

Requer Windows Vista, Windows XP ou Windows 2000 Professional.

Servidor

Requer o Windows Server 2008, o Windows Server 2003 ou o Windows 2000 Server.

Cabeçalho

Declarado em Esent.h.

Biblioteca

Use ESENT.lib.

DLL

Requer ESENT.dll.

Consulte Também

Arquivos extensíveis do mecanismo de armazenamento
JetCreateInstance
JET_ERR
JET_GRBIT
JetInit
JET_INSTANCE
JetTerm2