Funzione JetGetDatabaseInfo
Si applica a: Windows | Windows Server
Funzione JetGetDatabaseInfo
La funzione JetGetDatabaseInfo recupera vari tipi di informazioni sul database. Questa API può essere chiamata mentre un database è collegato o online (con JetGetDatabaseInfo) o mentre il database o il motore di database è offline (con JetGetDatabaseFileInfo).
JET_ERR JET_API JetGetDatabaseInfo(
__in JET_SESID sesid,
__in JET_DBID dbid,
__out void* pvResult,
__in unsigned long cbMax,
__in unsigned long InfoLevel
);
Parametri
sesid
Sessione da usare per questa chiamata.
dbid
JET_DBID per il database da cui recuperare le informazioni.
pvResult
Puntatore a un buffer che riceverà le informazioni specificate. Le dimensioni del buffer, in byte, vengono passate in cbMax.
In caso di errore il contenuto di pvResult non è definito.
Le informazioni archiviate in pvResult dipendono da InfoLevel.
cbMax
Dimensioni, in byte, del buffer passato in pvResult.
InfoLevel
InfoLevel specifica il tipo di informazioni da recuperare sul database specificato. Influisce sul modo in cui viene interpretato pvResult . Alcune infoLevel sono disponibili solo nella versione offline (JetGetDatabaseFileInfo) o online (JetGetDatabaseInfo) dell'API.
Se il buffer pvResult specificato è troppo piccolo, JET_errInvalidBufferSize o JET_errBufferTooSmall verrà restituito a seconda di InfoLevel.
Valore |
Significato |
---|---|
JET_DbInfoCollate |
Non ancora supportato e restituisce valori predefiniti. Non usare. |
JET_DbInfoConnect |
Queste InfoLevels sono deprecate e non sono attualmente supportate. Non usare. |
JET_DbInfoCountry |
Non ancora supportato e restituisce valori predefiniti. Non usare. |
JET_DbInfoCp |
Non ancora supportato e restituisce valori predefiniti. Non usare. |
JET_DbInfoFilename |
pvResult verrà interpretato come buffer stringa (char *). Viene tuttavia suggerito un buffer MAX_PATH, ma non richiesto. Se il buffer non è abbastanza lungo, verrà restituito JET_errBufferTooSmall. La stringa verrà popolata con il percorso del database per questo DBID. |
JET_DbInfoFilesize |
pvResult verrà interpretato come DWORD (4 byte). Restituisce le dimensioni del database nelle pagine. |
JET_DbInfoIsam |
Queste InfoLevels sono deprecate e non sono attualmente supportate. Non usare. |
JET_DbInfoLCID |
(Windows XP e versioni successive) Questo InfoLevel è stato originariamente specificato come: JET_DbInfoLangid (Windows 2000) pvResult verrà interpretato come lungo. Restituisce l'identificatore delle impostazioni locali (LCID) associato a questo database. |
JET_DbInfoMisc |
pvResult verrà interpretato come JET_DBINFOMISC. La struttura JET_DBINFOMISC verrà popolata con informazioni relative al database specificato. |
JET_DbInfoOptions |
pvResult verrà interpretato come JET_GRBIT (DWORD). Viene restituito se il database viene aperto in modalità esclusiva. Se il database è in modalità esclusiva JET_bitDbExclusive verrà impostato nel JET_GRBIT specificato, in caso contrario zero è impostato. Si noti che altre opzioni grbit del database per JetAttachDatabase e JetOpenDatabase non vengono restituite. |
JET_DbInfoPageSize |
Disponibile solo in Windows XP e versioni successive. pvResult verrà interpretato come lungo senza segno. Verrà restituita la dimensione della pagina del database in byte. |
JET_DbInfoSpaceAvailable |
pvResult verrà interpretato come DWORD. Restituisce lo spazio disponibile per il database nelle pagine. |
JET_DbInfoSpaceOwned |
pvResult verrà interpretato come DWORD. Restituisce lo spazio di proprietà per il database nelle pagine. |
JET_DbInfoTransactions |
pvResult verrà interpretato come lungo. Verrà restituito un valore maggiore del livello massimo a cui è possibile annidare le transazioni. Se JetBeginTransaction viene chiamato (in modo annidato, ovvero nella stessa sessione, senza un commit o un rollback) quante volte questo valore verrà restituito nell'ultima chiamata JET_errTransTooDeep da JetBeginTransaction. Si noti il valore in Windows 2000, Windows XP e Windows Server 2003 è 7. |
JET_DbInfoVersion |
pvResult verrà interpretato come lungo. Restituisce la versione principale nativa del motore di database. Questo valore è 0x620 per Windows 2000, Windows XP e Windows Server 2003. |
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_errBufferTooSmall |
Le dimensioni del buffer specificato in cbMax erano troppo piccole (o non corrette) per contenere le informazioni desiderate. |
JET_errFeatureNotAvailable |
InfoLevel richiesto è stato JET_DbInfoIsam. Questo non è supportato. |
JET_errInvalidBufferSize |
Le dimensioni del buffer specificato in cbMax erano troppo piccole (o non corrette) per contenere le informazioni desiderate. |
JET_errInvalidParameter |
Uno dei parametri forniti contiene un valore imprevisto o contiene un valore che non ha senso quando si combina con il valore di un altro parametro. Questo errore verrà restituito da JetGetDatabaseInfo quando l'JET_DBID specificato non è un database valido (collegato). Questo errore verrà restituito da JetGetDatabaseFileInfo e JetGetDatabaseInfo quando una richiesta di InfoLevel non è supportata da tale versione della funzione. |
In caso di esito positivo, i dati richiesti verranno restituiti nel buffer di output.
In caso di errore, il buffer di output sarà in uno stato non definito.
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 JetGetDatabaseInfoW (Unicode) e JetGetDatabaseInfoA (ANSI). |
Vedere anche
JET_DBID
JET_ERR
JET_GRBIT
JET_SESID
JET_DBINFOMISC
JET_DBINFOUPGRADE
JetGetDatabaseFileInfo