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