Condividi tramite


Funzione JetGetRecordSize

Si applica a: Windows | Windows Server

Funzione JetGetRecordSize

La funzione JetGetRecordSize recupera le informazioni sulle dimensioni dei record dalla posizione desiderata.

Windows Vista: JetGetRecordSize è stato introdotto in Windows Vista.

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

Parametri

sesid

Identifica il contesto della sessione di database che verrà usato per la chiamata API.

tableid

Identifica la tabella o il cursore che verrà usato per la chiamata API. Il cursore deve essere posizionato su un record o disporre di un aggiornamento preparato.

precsize

Puntatore a un buffer di output per la struttura JET_RECSIZE .

grbit

Si tratta di uno o più dei valori seguenti.

Valore

Significato

JET_bitRecordSizeInCopyBuffer

In questo modo vengono recuperate le dimensioni del record che si trova nel buffer di copia preparato per l'aggiornamento. In caso contrario, il tableid o il cursore deve essere posizionato su un record e tale record verrà utilizzato.

JET_bitRecordSizeRunningTotal

Quando si specifica questo bit, il JET_RECSIZE non viene azzerato prima di riempire il contenuto, fungendo in modo efficace da accumulo delle statistiche per più record visitati o aggiornati.

JET_bitRecordSizeLocal

In questo modo l'API ignora valori lunghi non intrinseci. Ad esempio, verrà usato solo il record locale nella pagina.

Valore restituito

Questa funzione restituisce il tipo di dati JET_ERR con uno dei codici restituiti seguenti. Per altre informazioni sui possibili errori ESE, vedere Errori del motore di archiviazione estendibile e parametri di gestione degli errori.

Codice restituito

Descrizione

JET_errSuccess

Operazione riuscita.

JET_errInvalidGrbit

Una delle opzioni richieste non è valida o non è stata implementata. Questo errore verrà restituito dalla funzione JetGetRecordSize quando viene specificato un grbit non valido.

JET_errNotInitialized

Non è possibile completare l'operazione perché l'istanza associata alla sessione non è stata inizializzata.

JET_errClientRequestToStopJetService

Non è possibile completare l'operazione perché tutte le attività sull'istanza associata alla sessione sono cessate a seguito di una chiamata a JetStopService.

JET_errInstanceUnavailable

Non è possibile completare l'operazione perché l'istanza associata alla sessione ha rilevato un errore irreversibile che richiede la revoca dell'accesso a tutti i dati per proteggere l'integrità dei dati.

Windows XP: JET_errInstanceUnavailable verranno restituiti solo da Windows XP e versioni successive.

JET_errTermInProgress

Non è possibile completare l'operazione perché l'istanza associata alla sessione viene arrestata.

JET_errRestoreInProgress

Non è possibile completare l'operazione perché è in corso un'operazione di ripristino nell'istanza associata alla sessione.

JET_errSessionSharingViolation

È illegale usare la stessa sessione da più thread contemporaneamente.

Windows XP: JET_errInstanceUnavailable verranno restituiti solo da Windows XP e versioni successive.

JET_errNoCurrentRecord

Ciò può verificarsi se il cursore è stato posizionato in modo non corretto.

JET_errRecordDeleted

Se il cursore non è stato posizionato in una transazione, ciò può verificarsi se un altro thread elimina il record da in questa sessione.

JET_errInvalidParameter

Questo valore può essere restituito se è stata passata una precsizeNULL.

Commenti

La dimensione della chiave accumulata nel campo cbOverhead di JET_RECSIZE è influenzata da JET_bitRecordSizeInCopyBuffer. Se questo bit viene specificato, la dimensione della chiave accumulata nel campo cbOverhead è la dimensione completa della chiave. Se questo bit non viene usato, le dimensioni della chiave accumulate non includeranno alcuna dimensione salvata a causa della compressione del prefisso della chiave.

Requisiti

Requisito Valore

Client

Richiede Windows Vista.

Server

Richiede Windows Server 2008.

Intestazione

Dichiarato in Esent.h.

Libreria

Usare ESENT.lib.

DLL

Richiede ESENT.dll.

Vedere anche

JET_ERR
JET_GRBIT
JET_SESID
JET_RECSIZE
JET_TABLEID