Condividi tramite


JET_CBTYP

Si applica a: Windows | Windows Server

JET_CBTYP

Il gruppo di costanti JET_CBTYP descrive tutti i possibili punti di un'operazione che il motore di database invia una notifica a un'applicazione chiamando la funzione di callback JET_CALLBACK . Il motore di database passa una di queste costanti nel parametro cbtyp della funzione di callback. Il significato degli altri parametri passati dal motore di database in questa chiamata dipende dal JET_CBTYP specifico passato.

Windows XP: Il gruppo di costanti JET_CBTYP è stato introdotto in Windows XP.

Costante/valore

Descrizione

JET_cbtypNull
0x00000000

Questo callback è riservato e considerato sempre non valido.

JET_cbtypFinalize
0x00000001

Questo callback è riservato per uso futuro.

JET_cbtypBeforeInsert
0x00000002

Questo callback verrà eseguito subito prima dell'inserimento di un nuovo record in una tabella da una chiamata a JetUpdate.

Il puntatore di funzione per questo motivo di callback viene passato a JetCreateTableColumnIndex tramite JET_TABLECREATE o configurato in fase di esecuzione tramite JetRegisterCallback. Per altre informazioni, vedere JET_TABLECREATE o JetRegisterCallback.

I parametri di callback avranno i valori seguenti:

  • sesid: sessione con il record da inserire.

  • dbid: ID del database della tabella che contiene il record da inserire.

  • tableid: cursore che ha preparato il nuovo record da inserire. È importante notare che il valore di qualsiasi versione o colonne di incremento automatico potrebbe non essere corretto in questo momento.

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: puntatore di contesto passato a JetRegisterCallback o NULL.

  • ulUnused: NULL Se viene restituito un errore dal callback, l'operazione che ha origine il callback avrà esito negativo con tale errore.

JET_cbtypAfterInsert
0x00000004

Questo callback verrà eseguito subito dopo l'inserimento di un nuovo record in una tabella da una chiamata a JetUpdate , ma prima che JetUpdate torni al chiamante.

Il puntatore di funzione per questo motivo di callback viene passato a JetCreateTableColumnIndex tramite JET_TABLECREATE o configurato in fase di esecuzione tramite JetRegisterCallback. Per altre informazioni, vedere JET_TABLECREATE o JetRegisterCallback.

I parametri di callback avranno i valori seguenti:

  • sesid: sessione con il record appena inserito.

  • dbid: ID del database della tabella contenente il record appena inserito.

  • tableid: cursore sulla tabella in cui è stato appena inserito il record. Si noti che il cursore è ancora posizionato sulla stessa voce di indice in cui si trovava prima del callback di inserimento. Si noti inoltre che questa voce di indice potrebbe non essere correlata in alcun modo al record inserito.

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: puntatore di contesto passato a JetRegisterCallback o NULL.

  • ulUnused: NULL Se viene restituito un errore dal callback, verrà ignorato.

JET_cbtypBeforeReplace
0x00000008

Questo callback si verificherà subito prima di un record esistente in una tabella modificata da una chiamata a JetUpdate.

Il puntatore di funzione per questo motivo di callback viene passato a JetCreateTableColumnIndex tramite JET_TABLECREATE o configurato in fase di esecuzione tramite JetRegisterCallback. Per altre informazioni, vedere JET_TABLECREATE o JetRegisterCallback.

I parametri di callback avranno i valori seguenti:

  • sesid: sessione con il record da modificare.

  • dbid: ID del database della tabella che contiene il record da modificare.

  • tableid: cursore posizionato su una voce di indice associata al record da modificare. È importante notare che il valore di qualsiasi versione o colonne di incremento automatico potrebbe non essere corretto in questo momento.

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: puntatore di contesto passato a JetRegisterCallback o NULL.

  • ulUnused: NULL Se viene restituito un errore dal callback, l'operazione che ha origine il callback avrà esito negativo con tale errore.

JET_cbtypAfterReplace
0x00000010

Questo callback si verificherà subito dopo che un record esistente in una tabella è stato modificato da una chiamata a JetUpdate , ma prima che JetUpdate torni al chiamante.

Il puntatore di funzione per questo motivo di callback viene passato a JetCreateTableColumnIndex tramite JET_TABLECREATE o configurato in fase di esecuzione tramite JetRegisterCallback. Per altre informazioni, vedere JET_TABLECREATE o JetRegisterCallback.

I parametri di callback avranno i valori seguenti:

  • sesid: sessione con il record appena modificato.

  • dbid: ID del database della tabella contenente il record appena modificato.

  • tableid: cursore posizionato su una voce di indice associata al record appena modificato.

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: puntatore di contesto passato a JetRegisterCallback o NULL.

  • ulUnused: NULL Se viene restituito un errore dal callback, verrà ignorato.

JET_cbtypBeforeDelete
0x00000020

Questo callback verrà eseguito subito prima dell'eliminazione di un record esistente in una tabella da una chiamata a JetDelete.

Il puntatore di funzione per questo motivo di callback viene passato a JetCreateTableColumnIndex tramite JET_TABLECREATE o configurato in fase di esecuzione tramite JetRegisterCallback. Per altre informazioni, vedere JET_TABLECREATE o JetRegisterCallback.

I parametri di callback avranno i valori seguenti:

  • sesid: sessione con il record da eliminare.

  • dbid: ID del database della tabella che contiene il record da eliminare.

  • tableid: cursore posizionato su una voce di indice associata al record da eliminare.

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: puntatore di contesto passato a JetRegisterCallback o NULL.

  • ulUnused: NULL Se viene restituito un errore dal callback, l'operazione che ha origine il callback avrà esito negativo con tale errore.

JET_cbtypAfterDelete
0x00000040

Questo callback verrà eseguito subito dopo l'eliminazione di un record esistente in una tabella da una chiamata a JetDelete , ma prima che JetDelete torni al chiamante.

Il puntatore di funzione per questo motivo di callback viene passato a JetCreateTableColumnIndex tramite JET_TABLECREATE o configurato in fase di esecuzione tramite JetRegisterCallback. Per altre informazioni, vedere JET_TABLECREATE o JetRegisterCallback.

I parametri di callback avranno i valori seguenti:

  • sesid: sessione con il record appena eliminato.

  • dbid: ID del database della tabella che contiene il record appena eliminato.

  • tableid: cursore posizionato su una voce di indice associata al record appena eliminato.

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: puntatore di contesto passato a JetRegisterCallback o NULL.

  • ulUnused: NULL

Se viene restituito un errore dal callback, verrà ignorato.

JET_cbtypUserDefinedDefaultValue
0x00000080

Questo callback si verifica quando il motore deve recuperare il valore predefinito definito dall'utente di una colonna dall'applicazione. Questo callback è essenzialmente un'implementazione limitata di JetRetrieveColumn valutata dall'applicazione. È possibile restituire un massimo di un valore di colonna per un valore predefinito definito dall'utente.

Il puntatore alla funzione per questo motivo di callback viene passato a JetAddColumn tramite una struttura JET_USERDEFINEDDEFAULT o passata a JetCreateTableColumnIndextramite una struttura JET_USERDEFINEDDEFAULT in JET_COLUMNCREATE una struttura JET_TABLECREATE.

I parametri di callback avranno i valori seguenti:

  • sesid: sessione che calcola il valore predefinito definito dall'utente

  • dbid: ID database della tabella contenente il valore predefinito definito dall'utente

  • tableid: un cursore posizionato sul record per il quale viene recuperato il valore predefinito definito dall'utente

  • pvArg1: buffer di output per il valore predefinito definito dall'utente

  • pvArg2: in input, questa è la dimensione del buffer di output. Nell'output si tratta della dimensione effettiva del valore predefinito definito dall'utente. in entrambi i casi, le dimensioni sono un intero senza segno a 32 bit.

  • pvContext: puntatore a un buffer contenente i dati utente specificati nella struttura JET_USERDEFINEDDEFAULT quando la colonna è stata creata o NULL se non è stato fornito alcun contesto.

  • ulUnused: ID colonna della colonna per cui viene recuperato il valore predefinito definito dall'utente.

Se viene restituito un errore dal callback, l'operazione che genera il callback avrà esito negativo con tale errore.

Se JET_wrnBufferTruncated viene restituito dal callback, l'operazione continuerà, ma l'intero valore non viene recuperato durante il callback.

Se JET_wrnColumnNull viene restituito dal callback, l'operazione continuerà, ma il valore predefinito definito dall'utente per la colonna è NULL.

JET_cbtypOnlineDefragCompleted
0x00000100

Questo callback si verifica quando la deframmentazione online di un database avviato da JetDefragment viene interrotta a causa del completamento del processo o del limite di tempo raggiunto.

Il puntatore alla funzione per questo motivo di callback viene passato a JetDefragment. Per altre informazioni, vedere JetDefragment.

I parametri di callback avranno i valori seguenti:

  • sesid: sessione usata per eseguire la deframmentazione online per il database o JET_sesidNil per un file di streaming.

  • dbid: ID database del database da deframmentare o JET_dbidNil per un file di streaming.

  • tableid: JET_tableidNil

  • pvArg1: NULL

  • pvArg2: NULL

  • pvContext: NULL

  • ul Inutilizzato: NULL

Se viene restituito un errore dal callback, verrà ignorato.

JET_cbtypFreeCursorLS
0x00000200

Questo callback si verifica quando l'applicazione deve pulire l'handle di contesto per l'archiviazione locale associata a un cursore rilasciato dal motore di database. Per altre informazioni, vedere JetSetLS.

Il puntatore della funzione per questo motivo di callback viene configurato tramite JetSetSystemParameter con JET_paramRuntimeCallback.

I parametri di callback avranno i valori seguenti:

  • sesid: JET_sesidNil

  • dbid: JET_dbidNil

  • tableid: JET_tableidNil

  • pvArg1: Handle di contesto impostato con JetSetLS

  • pvArg2: NULL

  • pvContext: NULL

  • ul Inutilizzato: NULL

Se viene restituito un errore dal callback, verrà ignorato.

JET_cbtypFreeTableLS
0x00000400

Questo callback si verifica come risultato della necessità dell'applicazione di pulire l'handle di contesto per l'archiviazione locale associata a una tabella rilasciata dal motore di database. Per altre informazioni, vedere JetSetLS.

Il puntatore della funzione per questo motivo di callback viene configurato tramite JetSetSystemParameter con JET_paramRuntimeCallback.

I parametri di callback avranno i valori seguenti:

  • sesid: JET_sesidNil

  • dbid: JET_dbidNil

  • tableid: JET_tableidNil

  • pvArg1: handle di contesto impostato con JetSetLS.

  • pvArg2: NULL

  • pvContext: NULL

  • ul Inutilizzato: NULL

Se viene restituito un errore dal callback, verrà ignorato.

Requisiti

Requisito Valore

Client

Richiede Windows Vista o Windows XP.

Server

Richiede Windows Server 2008 o Windows Server 2003.

Intestazione

Dichiarato in Esent.h.

Vedere anche

JET_CALLBACK