Condividi tramite


Funzione JetRegisterCallback

Si applica a: Windows | Windows Server

Funzione JetRegisterCallback

La funzione JetRegisterCallback consente all'applicazione di configurare il motore di database per inviare notifiche all'applicazione per eventi specifici. Queste notifiche sono associate a una tabella specifica e rimangono attive solo fino all'arresto dell'istanza contenente la tabella tramite JetTerm.

Windows XP: JetRegisterCallback è stato introdotto in Windows XP.

    JET_ERR JET_API JetRegisterCallback(
      __in          JET_SESID sesid,
      __in          JET_TABLEID tableid,
      __in          JET_CBTYP cbtyp,
      __in          JET_CALLBACK pCallback,
      __in          void* pvContext,
      __out         JET_HANDLE* phCallbackId
    );

Parametri

sesid

Sessione da utilizzare per questa chiamata.

tableid

Cursore da utilizzare per questa chiamata.

cbtyp

Maschera di bit composta dai motivi di callback per cui l'applicazione desidera ricevere notifiche.

Per creare questa maschera di bit, è sufficiente o insieme motivi di callback validi dall'enumerazione JET_CBTYP .

pCallback

Puntatore di funzione alla funzione di callback per l'applicazione.

pvContext

Specifica un puntatore di contesto che verrà assegnato alla funzione di callback per l'applicazione.

phCallbackId

Restituisce un handle che può essere usato in un secondo momento per annullare la registrazione della funzione di callback specificata usando JetUnregisterCallback.

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

JET_errInvalidParameter

Uno dei parametri forniti conteneva un valore imprevisto o conteneva un valore che non ha senso se combinato con il valore di un altro parametro. Questo errore verrà restituito da JetRegisterCallback quando:

  • cbtyp è zero,

  • pCallback è NULL.

  • phCallbackId è NULL.

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é è in corso un'operazione di ripristino 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.

In caso di esito positivo, il callback specificato verrà registrato per i motivi di callback specificati con la tabella associata al cursore specificato. Non verrà apportata alcuna modifica allo stato del database.

In caso di errore, il callback non verrà registrato. Non verrà apportata alcuna modifica allo stato del database.

Commenti

Questo metodo consente all'applicazione di associare callback volatili a una tabella in un database. Se l'applicazione desidera associare callback persistenti a una tabella nel database, deve passare il callback a JET_TABLECREATE tramite JetCreateTableColumnIndex.

Requisiti

Requisito Valore

Client

Richiede Windows Vista o Windows XP.

Server

Richiede Windows Server 2008 o Windows Server 2003.

Intestazione

Dichiarato in Esent.h.

Libreria

Usare ESENT.lib.

DLL

Richiede ESENT.dll.

Vedere anche

JET_CALLBACK
JET_CBTYP
JET_ERR
JET_HANDLE
JET_SESID
JET_TABLEID
JetCreateTableColumnIndex
JetTerm
JetUnregisterCallback