Compartilhar via


Função JetGetCursorInfo

Aplica-se a: Windows | Windows Server

Função JetGetCursorInfo

A função JetGetCursorInfo é usada para determinar se uma atualização do registro atual de um cursor resultará em um conflito de gravação, com base na atualização atual status do registro. É possível que um conflito de gravação seja retornado, mesmo que JetGetCursorInfo retorne JET_errSuccess, pois outra sessão pode atualizar o registro antes que a sessão atual possa atualizar o mesmo registro.

    JET_ERR JET_API JetGetCursorInfo(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __out         void* pvResult,
      __in          unsigned long cbMax,
      __in          unsigned long InfoLevel
    );

Parâmetros

sesid

A sessão que será usada para essa chamada.

Tableid

O cursor que será usado para essa chamada.

pvResult

Reservado para uso futuro.

cbMax

Deve ser definido como 0 (zero), caso contrário, não utilizado. Ele está presente para funcionalidades futuras.

InfoLevel

Deve ser definido como 0 (zero), caso contrário, não utilizado. Ele está presente para funcionalidades futuras.

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

CbMax não é 0 (zero) ou InfoLevel não é 0 (zero).

JET_errNoCurrentRecord

O cursor não está atualmente em um registro e as informações sobre um registro lógico não podem ser retornadas como resultado.

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.

JET_errWriteConflict

O registro atual do cursor foi atualizado por outra sessão e uma atualização desse registro por esta sessão resultará em um conflito de gravação.

Em caso de êxito, essa operação não tem efeito sobre o local do cursor, mas indica apenas que nenhuma outra sessão atualmente atualizou esse registro.

Em caso de falha, se um código de erro negativo for retornado, não haverá efeitos no cursor ou no banco de dados.

Comentários

Essa operação não afeta o estado do cursor ou dos dados. Ele retorna apenas um código de erro que descreve se uma atualização para o registro atual pela sessão de chamada é conhecida por resultar em um JET_errWriteConflict ou se é desconhecido para retornar JET_errWriteConflict. Se outra sessão já tiver atualizado esse registro para usá-lo, é certo que uma atualização desse registro por esta sessão resultará em um conflito de gravação. Isso será verdadeiro até que esta sessão confirme ou reverta suas transações para o nível de transação 0 (zero). No entanto, se JetGetCursorInfo retornar JET_errSuccess, ainda será possível que outra sessão atualize esse registro antes da sessão atual e, portanto, ainda é possível que uma atualização do registro atual por esta sessão em sua transação atual resulte em um conflito de gravação.

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

JET_ERR
JET_SESID
JET_TABLEID
JetGetLock
JetPrepareUpdate
JetStopService
JetUpdate