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