Funzione JetGetTableInfo
Si applica a: Windows | Windows Server
Funzione JetGetTableInfo
La funzione JetGetTableInfo recupera varie informazioni su una tabella in un database.
JET_ERR JET_API JetGetTableInfo(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__out void* pvResult,
__in unsigned long cbMax,
__in unsigned long InfoLevel
);
Parametri
sesid
Contesto della sessione di database da usare per la chiamata API.
tableid
Tabella a cui si applicano le informazioni.
pvResult
Puntatore a un buffer che riceverà le informazioni. Il tipo del buffer dipende da InfoLevel. È responsabilità del chiamante allineare il buffer in modo appropriato.
cbMax
Dimensione, in byte, del buffer passato in pvResult.
InfoLevel
Tipo di informazioni che verranno recuperate per la tabella specificata da tableid. Il formato dei dati archiviati in pvResult dipende da InfoLevel.
Per questo parametro è possibile impostare le opzioni seguenti:
Valore |
Significato |
---|---|
JET_TblInfo |
pvResult viene interpretato come struttura JET_OBJECTINFO . Se il metodo ha esito positivo, la struttura JET_OBJECTINFO viene compilata con i dati appropriati. Se ha esito negativo, il contenuto non è definito. |
JET_TblInfoDbid |
pvResult viene considerato come una matrice di due oggetti JET_DBID . L'identificatore di database del database proprietario della tabella viene archiviato due volte in questa matrice. |
JET_TblInfoDumpTable |
JET_TblInfoDumpTable è deprecato. L'API restituirà JET_errFeatureNotAvailable. |
JET_TblInfoName |
JET_TblInfoName recupera il nome della tabella e lo archivia in pvResult. Se il buffer è troppo piccolo, il comportamento non è definito. |
JET_TblInfoMostMany |
JET_TblInfoMostMany recupera il nome della tabella e lo archivia in pvResult. Se il buffer è troppo piccolo, il comportamento non è definito. |
JET_TblInfoOLC |
JET_TblInfoOLC è deprecato. L'API restituirà JET_errFeatureNotAvailable. |
JET_TblInfoRvt |
JET_TblInfoRvt è deprecato. L'API restituirà JET_errQueryNotSupported. |
JET_TblInfoResetOLC |
JET_TblInfoResetOLC è deprecato. L'API restituirà JET_errFeatureNotAvailable. |
JET_TblInfoSpaceAlloc |
pvResult viene interpretato come una matrice di due ULONG:
|
JET_TblInfoSpaceAvailable |
pvResult viene interpretato come ULONG. ULONG è la somma del numero di pagine disponibili nella tabella, nei relativi indici e nell'albero dei valori lunghi. |
JET_TblInfoSpaceOwned |
pvResult viene interpretato come ULONG. ULONG è la somma del numero di pagine di proprietà della tabella (inclusi gli indici e l'albero dei valori lunghi e le pagine disponibili). |
JET_TblInfoSpaceUsage |
Il comportamento dell'API dipende dalla dimensione del buffer passato all'API. Due valori cbMax devono essere almeno ( 2 * sizeof( ULONG ) ).
|
JET_TblInfoTemplateTableName |
pvResult viene interpretato come buffer stringa. Il buffer deve essere almeno JET_cbNameMost + 1, incluso il valore NULL di terminazione. Se la tabella è una tabella derivata, il buffer verrà compilato con il nome della tabella da cui la tabella derivata ha ereditato il relativo DDL. Se la tabella non è una tabella derivata, il buffer sarà una stringa vuota. |
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_errBufferTooSmall |
Il buffer era troppo piccolo. |
JET_errFeatureNotAvailable |
È stato specificato un InfoLevel deprecato. |
JET_errInvalidBufferSize |
La dimensione del buffer non è corretta. |
JET_errInvalidOperation |
La tabella passata era una tabella temporanea e non è possibile recuperare l'InfoLevel richiesto per una tabella temporanea. |
JET_errObjectNotFound |
La tabella passata era una tabella temporanea e non è possibile recuperare l'InfoLevel richiesto per una tabella temporanea. |
JET_errQueryNotSupported |
InfoLevel non è supportato. |
JET_errTableInUse |
La tabella viene utilizzata da un'altra operazione di database. |
JET_errTableLocked |
La tabella è bloccata da un'altra operazione del database. |
JET_wrnTableInUseBySystem |
La tabella viene utilizzata dal sistema. Questo avviso non è irreversibile. |
Commenti
Alcune informazioni non sono valide per le tabelle temporanee (vedere JetOpenTempTable).
Le statistiche della tabella includono il numero di record e il numero di pagine nell'indice cluster, ovvero l'indice contenente i dati del record. Le statistiche dell'indice sono accessibili separatamente in base al nome, usando JetGetIndexInfo o JetGetTableIndexInfo.
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. |
Unicode |
Implementato come JetGetTableInfoW (Unicode) e JetGetTableInfoA (ANSI). |
Vedere anche
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JET_OBJECTINFO
JetGetIndexInfo
JetGetObjectInfo
JetGetTableIndexInfo
JetOpenTempTable