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