Compartilhar via


Função JetGotoSecondaryIndexBookmark

Aplica-se a: Windows | Windows Server

Função JetGotoSecondaryIndexBookmark

A função JetGotoSecondaryIndexBookmark posiciona um cursor para uma entrada de índice associada ao indicador de índice secundário especificado. O indicador de índice secundário deve ser usado com o mesmo índice sobre a mesma tabela da qual foi recuperado originalmente. O indicador de índice secundário para uma entrada de índice pode ser recuperado usando JetGotoSecondaryIndexBookmark.

Windows XP:JetGotoSecondaryIndexBookmark é introduzido no Windows XP.

    JET_ERR JET_API JetGotoSecondaryIndexBookmark(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __in          void* pvSecondaryKey,
      __in          unsigned long cbSecondaryKey,
      __in_opt      void* pvPrimaryBookmark,
      __in          unsigned long cbPrimaryBookmark,
      __in          const JET_GRBIT grbit
    );

Parâmetros

sesid

A sessão a ser usada para essa chamada.

Tableid

O cursor a ser usado para essa chamada.

pvSecondaryKey

O buffer que contém a chave secundária a ser usada para posicionar o cursor.

cbSecondaryKey

O tamanho da chave secundária no buffer.

pvPrimaryBookmark

O buffer que contém o indicador de chave primária a ser usado para posicionar o cursor.

cbPrimaryBookmark

O tamanho do indicador de chave primária no buffer.

grbit

Um grupo de bits que especifica zero ou mais das opções a seguir.

Valor

Significado

JET_bitBookmarkPermitVirtualCurrency

Caso a entrada de índice não possa mais ser encontrada, o cursor será deixado posicionado onde essa entrada de índice foi encontrada anteriormente. A operação ainda falhará com JET_errRecordDeleted; no entanto, será possível mover para a entrada de índice próxima ou anterior em relação à entrada de índice que agora está ausente.

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_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

A operação não pode ser concluída porque é 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.

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

JET_errInvalidBookmark

O indicador de índice secundário fornecido era inválido. Esse erro pode ter ocorrido porque a chave secundária é zero ou o ponteiro do buffer de chave secundária é NULL. Esse erro ocorre porque

  • O índice secundário atual não tem uma restrição de exclusividade e o tamanho do indicador fornecido é zero.

  • O ponteiro de buffer de indicador é NULL.

JET_errNoCurrentIndex

O cursor não está atualmente em um índice secundário. Não é significativo ir para um indicador de índice secundário quando o cursor não está usando um índice secundário no momento. JetGotoBookmark deve ser usado quando o cursor não está em um índice secundário.

JET_errNotInitialized

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

JET_errRecordDeleted

Não foi possível encontrar a entrada de índice associada ao indicador de índice secundário.

JET_errRestoreInProgress

A operação não pode ser concluída 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 XP: Esse valor retornado é introduzido no Windows XP.

JET_errTermInProgress

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

Se essa função for bem-sucedida, o cursor será posicionado em uma entrada de índice associada ao indicador de índice secundário especificado. Se um registro tiver sido preparado para atualização, essa atualização será cancelada. Se um intervalo de índice estiver em vigor, esse intervalo de índice será cancelado. Se uma chave de pesquisa tiver sido construída para o cursor a ser usado, essa chave de pesquisa será excluída. Nenhuma alteração no estado do banco de dados ocorrerá.

Se essa função falhar, a posição do cursor permanecerá inalterada, a menos que JET_errRecordDeleted seja retornado e JET_bitBookmarkPermitVirtualCurrency seja especificado. Nesse caso, o cursor será posicionado onde teria sido a entrada de índice associada ao indicador de índice secundário especificado. O cursor pode ser movido em relação a essa posição, mas ainda não está em uma entrada de índice válida.

Se um registro tiver sido preparado para atualização, essa atualização será cancelada. Se um intervalo de índice estiver em vigor, esse intervalo de índice será cancelado. Se uma chave de pesquisa tiver sido construída para o cursor a ser usado, essa chave de pesquisa será excluída. De qualquer forma, nenhuma alteração no estado do banco de dados ocorrerá.

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_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetGetSecondaryIndexBookmark
JetGotoBookmark
JetStopService