Funzione JetGetRecordPosition
Si applica a: Windows | Windows Server
Funzione JetGetRecordPosition
La funzione JetGetRecordPosition restituisce la posizione frazionaria del record corrente nell'indice corrente sotto forma di una struttura JET_RECPOS . Questa struttura descrive le posizioni frazionarie in termini di un numero approssimativo di voci di indice prima del record corrente e un numero totale approssimativo di voci nell'indice.
JET_ERR JET_API JetGetRecordPosition(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__out JET_RECPOS* precpos,
__in unsigned long cbRecpos
);
Parametri
sesid
Sessione da usare per questa chiamata.
tableid
Cursore da usare per questa chiamata.
precpos
Descrizione della frazione da usare per ottenere la posizione del record corrente nell'indice corrente.
cbRecpos
Dimensione della memoria allocata in fase di precpos.
Valore restituito
Questa funzione restituisce il tipo di dati JET_ERR con uno dei codici restituiti seguenti. Per altre informazioni sugli errori ESE possibili, vedere Errori del motore di archiviazione estendibili e parametri di gestione degli errori.
Codice restituito |
Descrizione |
---|---|
JET_errSuccess |
Operazione riuscita. |
JET_errNotInitialized |
Non è possibile completare l'operazione perché l'istanza associata alla sessione non è ancora stata inizializzata. |
JET_errClientRequestToStopJetService |
L'operazione non può essere completata perché tutte le attività nell'istanza associata alla sessione hanno interrotto come risultato di una chiamata a JetStopService. |
JET_errInstanceUnavailable |
Questa operazione non può essere completata perché l'istanza associata alla sessione ha rilevato un errore irreversibile. È necessario che l'accesso a tutti i dati venga revocato per proteggere l'integrità dei dati. Windows 2000: Questo errore non verrà restituito dal sistema operativo Windows 2000. |
JET_errInvalidParameter |
Le dimensioni della memoria allocata in corrispondenza dei precpos non sono dimensioni sufficienti. |
JET_errNoCurrentRecord |
Il cursore non è attualmente in un record e non può restituire una posizione. |
JET_errRestoreInProgress |
Non è possibile completare l'operazione perché un'operazione di ripristino è in corso nell'istanza associata alla sessione. |
JET_errSessionSharingViolation |
La stessa sessione non può essere usata contemporaneamente per più thread. Windows 2000: Questo errore non verrà restituito dal sistema operativo Windows 2000. |
JET_errTermInProgress |
Impossibile completare l'operazione perché l'istanza associata alla sessione viene arrestata. |
In caso di esito positivo, il numero approssimativo di voci di indice precedenti al record corrente nell'indice viene restituito in precpos-centriesLT>. 1 viene restituito in precpos-centriesInRange>. Il numero approssimativo di voci nell'indice viene restituito in precpos-centriesTotal>.
In caso di errore, non vengono apportate modifiche alla memoria allocata in precpos.
Commenti
Questa operazione restituisce dati variabili quando gli aggiornamenti si verificano continuamente nella tabella. Le modifiche apportate ai valori non corrispondono sempre alle aspettative in base alla conoscenza degli aggiornamenti, poiché i valori sono approssimazioni basate sulle proprietà fisiche dell'indice. L'isolamento transazionale non si applica alle posizioni di JetGetRecordPosition poiché i valori dipendono dalle proprietà fisiche dell'indice che non sono isolate dalla transazione.
JET_RECPOS non deve essere usato per descrivere un record all'interno di una tabella o per riposizionare un record vicino a un record esistente. I segnalibri per un record esistente devono invece essere recuperati e quindi usati per riposizionare lo stesso record.
Requisiti
Requisito | Valore |
---|---|
Client |
Richiede Windows Vista, Windows XP o Windows 2000 Professional. |
Server |
Richiede Windows Server 2008, Windows Server 2003 o Windows 2000 Server. |
Intestazione |
Dichiarato in Esent.h. |
Libreria |
Usare ESENT.lib. |
DLL |
Richiede ESENT.dll. |
Vedere anche
JET_COLUMNID
JET_ERR
JET_SESID
JET_TABLEID
JET_RECPOS
JET_SETINFO
JetGotoPosition
JetStopService