Condividi tramite


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