Compartilhar via


Função JetGetRecordSize

Aplica-se a: Windows | Windows Server

Função JetGetRecordSize

A função JetGetRecordSize recupera informações de tamanho de registro do local desejado.

Windows Vista: JetGetRecordSize é introduzido no Windows Vista.

    JET_ERR JET_API JetGetRecordSize(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __out         JET_RECSIZE* precsize,
      __in          const JET_GRBIT grbit
    );

Parâmetros

sesid

Identifica o contexto de sessão do banco de dados que será usado para a chamada à API.

Tableid

Identifica a tabela ou o cursor que será usado para a chamada à API. O cursor deve ser posicionado em um registro ou ter uma atualização preparada.

precsize

Um ponteiro para um buffer de saída para a estrutura JET_RECSIZE .

grbit

Esse é um ou mais dos valores a seguir.

Valor

Significado

JET_bitRecordSizeInCopyBuffer

Isso recupera o tamanho do registro que está no buffer de cópia preparado para atualização. Caso contrário, o tableid ou cursor deverá ser posicionado em um registro e esse registro será usado.

JET_bitRecordSizeRunningTotal

Quando esse bit é especificado, o JET_RECSIZE não é zerado antes de preencher o conteúdo, atuando efetivamente como um acúmulo de estatísticas para vários registros visitados ou atualizados.

JET_bitRecordSizeLocal

Isso faz com que a API ignore valores longos não intrínsecos. Por exemplo, somente o registro local na página será usado.

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_errInvalidGrbit

Uma das opções solicitadas era inválida ou não foi implementada. Esse erro será retornado pela função JetGetRecordSize quando um grbit ilegal for especificado.

JET_errNotInitialized

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

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.

Windows XP: JET_errInstanceUnavailable 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_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

É inválido usar a mesma sessão de mais de um thread ao mesmo tempo.

Windows XP: JET_errInstanceUnavailable só será retornado pelo Windows XP e versões posteriores.

JET_errNoCurrentRecord

Isso pode acontecer se o cursor foi posicionado incorretamente.

JET_errRecordDeleted

Se o cursor não tiver sido posicionado em uma transação, isso poderá acontecer se outro thread excluir o registro de nesta sessão.

JET_errInvalidParameter

Isso poderá ser retornado se um precsizeNULL tiver sido passado.

Comentários

O tamanho da chave acumulada no campo cbOverhead de JET_RECSIZE é afetado por JET_bitRecordSizeInCopyBuffer. Se esse bit for especificado, o tamanho da chave acumulado no campo cbOverhead será o tamanho completo da chave. Se esse bit não for usado, o tamanho da chave acumulado não incluirá nenhum tamanho salvo devido à compactação de prefixo de chave.

Requisitos

Requisito Valor

Cliente

Requer o Windows Vista.

Servidor

Requer o Windows Server 2008.

Cabeçalho

Declarado em Esent.h.

Biblioteca

Use ESENT.lib.

DLL

Requer ESENT.dll.

Consulte Também

JET_ERR
JET_GRBIT
JET_SESID
JET_RECSIZE
JET_TABLEID