Função JetGetRecordPosition
Aplica-se a: Windows | Windows Server
Função JetGetRecordPosition
A função JetGetRecordPosition retorna a posição fracionária do registro atual no índice atual na forma de uma estrutura JET_RECPOS . Essa estrutura descreve posições fracionárias em termos de um número aproximado de entradas de índice antes do registro atual e um número total aproximado de entradas no índice.
JET_ERR JET_API JetGetRecordPosition(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__out JET_RECPOS* precpos,
__in unsigned long cbRecpos
);
Parâmetros
sesid
A sessão a ser usada para essa chamada.
Tableid
O cursor a ser usado para essa chamada.
precpos
A descrição da fração a ser usada para obter a posição do registro atual no índice atual.
cbRecpos
O tamanho da memória alocada em precpos.
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 do 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_errNotInitialized |
Não é possível concluir a operação porque a instância associada à sessão ainda não foi inicializada. |
JET_errClientRequestToStopJetService |
A operação não pode ser concluída porque todas as atividades na instância associada à sessão cessaram como resultado de uma chamada para JetStopService. |
JET_errInstanceUnavailable |
Essa operação não pode ser concluída porque a instância, associada à sessão, encontrou um erro fatal. É necessário que o acesso a todos os dados seja revogado para proteger a integridade desses dados. Windows 2000: Esse erro não será retornado pelo sistema operacional Windows 2000. |
JET_errInvalidParameter |
O tamanho da memória alocada em precpos não é um tamanho suficiente. |
JET_errNoCurrentRecord |
O cursor não está atualmente em um registro e não pode retornar uma posição. |
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. Windows 2000: Esse erro não será retornado pelo sistema operacional Windows 2000. |
JET_errTermInProgress |
A operação não pode ser concluída porque a instância associada à sessão está sendo desligada. |
Com êxito, o número aproximado de entradas de índice anteriores ao registro atual no índice é retornado em precpos-centriesLT>. 1 é retornado em precpos-centriesInRange>. O número aproximado de entradas no índice é retornado em precpos-centriesTotal>.
Em caso de falha, nenhuma alteração é feita na memória alocada em precpos.
Comentários
Essa operação retorna dados variados quando as atualizações ocorrem continuamente na tabela. As alterações nos valores nem sempre corresponderão às expectativas com base no conhecimento das atualizações, pois os valores são aproximações com base nas propriedades físicas do índice. O isolamento transacional não se aplica a posições de JetGetRecordPosition , pois os valores dependem de propriedades físicas do índice que não são isoladas de transação.
JET_RECPOS não deve ser usado para descrever um registro dentro de uma tabela ou reposicionar um registro próximo a um registro existente. Em vez disso, os indicadores de um registro existente devem ser recuperados e usados para reposicionar o mesmo registro.
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_COLUMNID
JET_ERR
JET_SESID
JET_TABLEID
JET_RECPOS
JET_SETINFO
JetGotoPosition
JetStopService