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 quando un database è collegato o in linea (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 utilizzare per questa chiamata.

dbid

JET_DBID per il database da cui recuperare le informazioni.

pvResult

Puntatore a un buffer che riceverà le informazioni specificate. La dimensione del buffer, in byte, viene passata in cbMax.

In caso di errore, il contenuto di pvResult non è definito.

Le informazioni archiviate in pvResult dipendono da InfoLevel.

cbMax

Dimensione, in byte, del buffer passato in pvResult.

InfoLevel

InfoLevel specifica il tipo di informazioni da recuperare sul database specificato. Influiscono sul modo in cui pvResult viene interpretato. Alcuni InfoLevel sono disponibili solo nella versione offline (JetGetDatabaseFileInfo) o in linea (JetGetDatabaseInfo) dell'API.

Se il buffer pvResult fornito è troppo piccolo, viene restituito JET_errInvalidBufferSize o JET_errBufferTooSmall a seconda del valore di InfoLevel.

Valore

Significato

JET_DbInfoCollate

Non ancora supportato e restituisce i valori predefiniti. Non usare.

JET_DbInfoConnect

Questi InfoLevels sono deprecati e non sono attualmente supportati. Non usare.

JET_DbInfoCountry

Non ancora supportato e restituisce i valori predefiniti. Non usare.

JET_DbInfoCp

Non ancora supportato e restituisce i valori predefiniti. Non usare.

JET_DbInfoFilename

pvResult verrà interpretato come un buffer di stringa (Char *). È stato suggerito un buffer di MAX_PATH, tuttavia non è obbligatorio. Se la lunghezza del buffer non è sufficiente, verrà restituito JET_errBufferTooSmall. La stringa verrà popolata con il percorso del database per questo DBID.

JET_DbInfoFilesize

pvResult verrà interpretato come un valore DWORD (4 byte). Restituisce le dimensioni del database in pagine.

JET_DbInfoIsam

Questi InfoLevels sono deprecati e non sono attualmente supportati. Non usare.

JET_DbInfoLCID

(Windows XP e versioni successive) Questo InfoLevel è stato originariamente specificato come: JET_DbInfoLangid (Windows 2000)

pvResult verrà interpretato come Long. Viene restituito l'identificatore delle impostazioni locali (LCID) associato al database.

JET_DbInfoMisc

pvResult verrà interpretato come JET_DBINFOMISC. La struttura di JET_DBINFOMISC verrà popolata con le informazioni relative al database specificato.

JET_DbInfoOptions

pvResult verrà interpretato come un JET_GRBIT (DWORD). Viene restituito un valore che indica se il database è aperto in modalità esclusiva. Se il database è in modalità esclusiva JET_bitDbExclusive verrà impostato nell' JET_GRBIT fornito; in caso contrario, viene impostato zero. Si noti che non vengono restituite altre opzioni di grbit del database per JetAttachDatabase e JetOpenDatabase .

JET_DbInfoPageSize

Disponibile solo in Windows XP e versioni successive. pvResult verrà interpretato come unsigned long. Questa operazione restituirà le dimensioni di pagina del database in byte.

JET_DbInfoSpaceAvailable

pvResult verrà interpretato come un valore DWORD. Viene restituito lo spazio disponibile per il database in pagine.

JET_DbInfoSpaceOwned

pvResult verrà interpretato come un valore DWORD. Viene restituito lo spazio di proprietà del database in pagine.

JET_DbInfoTransactions

pvResult verrà interpretato come Long. Verrà restituito un valore maggiore del livello massimo a cui è possibile annidare le transazioni. Se viene chiamato JetBeginTransaction (in modo annidato, ovvero nella stessa sessione senza commit o rollback) il numero di volte di questo valore, nell'ultima chiamata JET_errTransTooDeep verrà restituito da JetBeginTransaction. Si noti che il valore in Windows 2000, Windows XP e Windows Server 2003 è 7.

JET_DbInfoVersion

pvResult verrà interpretato come Long. Viene restituita 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 seguenti codici restituiti. Per ulteriori informazioni sugli errori ESE possibili, vedere la pagina relativa agli errori e ai parametri di gestione deglierrori del motore di archiviazione estensibile .

Codice restituito

Descrizione

JET_errSuccess

Operazione riuscita.

JET_errBufferTooSmall

La dimensione del buffer specificata in cbMax è troppo piccola (o non corretta) per conservare le informazioni desiderate.

JET_errFeatureNotAvailable

Il InfoLevel richiesto è stato JET_DbInfoIsam. Questo non è supportato.

JET_errInvalidBufferSize

La dimensione del buffer specificata in cbMax è troppo piccola (o non corretta) per conservare le informazioni desiderate.

JET_errInvalidParameter

Uno dei parametri forniti contiene un valore imprevisto o contiene un valore che non ha senso se combinato con il valore di un altro parametro. Questo errore viene restituito da JetGetDatabaseInfo quando il JET_DBID specificato non è un database valido (collegato). Questo errore viene restituito da JetGetDatabaseFileInfo e JetGetDatabaseInfo quando un InfoLevel richiesto non è supportato da tale versione della funzione.

In seguito all'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

Client

Richiede Windows Vista, Windows XP o Windows 2000 Professional.

Server

Richiede Windows Server 2008, Windows Server 2003 o Windows 2000 Server.

Intestazione

Dichiarata 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