Condividi tramite


Funzione JetGetCursorInfo

Si applica a: Windows | Windows Server

Funzione JetGetCursorInfo

La funzione JetGetCursorInfo viene usata per determinare se un aggiornamento del record corrente di un cursore comporterà un conflitto di scrittura, in base allo stato di aggiornamento corrente del record. È possibile che un conflitto di scrittura venga restituito anche se JetGetCursorInfo restituisce JET_errSuccess, perché un'altra sessione può aggiornare il record prima che la sessione corrente sia in grado di aggiornare lo stesso record.

    JET_ERR JET_API JetGetCursorInfo(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __out         void* pvResult,
      __in          unsigned long cbMax,
      __in          unsigned long InfoLevel
    );

Parametri

sesid

Sessione che verrà usata per questa chiamata.

tableid

Cursore che verrà usato per questa chiamata.

pvResult

Riservato per utilizzi futuri.

cbMax

Deve essere impostato su 0 (zero), altrimenti inutilizzato. È presente per le funzionalità future.

InfoLevel

Deve essere impostato su 0 (zero), altrimenti inutilizzato. È presente per le funzionalità future.

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_errClientRequestToStopJetService

Non è possibile completare l'operazione perché tutte le attività nell'istanza associata alla sessione non sono state interrotte in seguito a una chiamata a JetStopService.

JET_errInstanceUnavailable

Non è possibile completare l'operazione perché l'istanza associata alla sessione ha rilevato un errore irreversibile che richiede che l'accesso a tutti i dati venga revocato per proteggere l'integrità dei dati. Questo errore verrà restituito solo da Windows XP e versioni successive.

JET_errInvalidParameter

CbMax non è 0 (zero) o InfoLevel non è 0 (zero).

JET_errNoCurrentRecord

Il cursore non è attualmente in un record e le informazioni su un record logico non possono essere restituite di conseguenza.

JET_errNotInitialized

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

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. Questo errore verrà restituito solo da Windows XP e versioni successive.

JET_errTermInProgress

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

JET_errWriteConflict

Il record corrente del cursore è stato aggiornato da un'altra sessione e un aggiornamento di questo record da questa sessione comporterà un conflitto di scrittura.

In caso di esito positivo, questa operazione non ha alcun effetto sulla posizione del cursore, ma indica solo che nessun'altra sessione ha attualmente aggiornato questo record.

In caso di errore, se viene restituito un codice di errore negativo, non sono presenti effetti sul cursore o sul database.

Commenti

Questa operazione non influisce sullo stato del cursore o sui dati. Restituisce solo un codice di errore che descrive se un aggiornamento al record corrente dalla sessione chiamante è noto per generare un JET_errWriteConflict o è sconosciuto per restituire JET_errWriteConflict. Se un'altra sessione ha già aggiornato questo record per usarlo è certo che un aggiornamento di questo record da questa sessione comporterà un conflitto di scrittura. Questa operazione sarà vera fino a quando questa sessione non esegue il commit o esegue il rollback delle transazioni al livello di transazione 0 (zero). Tuttavia, se JetGetCursorInfo restituisce JET_errSuccess, è comunque possibile che un'altra sessione aggiorni questo record prima della sessione corrente e quindi sia comunque possibile che un aggiornamento del record corrente da questa sessione nella transazione corrente comporterà un conflitto di scrittura.

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_ERR
JET_SESID
JET_TABLEID
JetGetLock
JetPrepareUpdate
JetStopService
JetUpdate