Funzione JetSetSystemParameter
Si applica a: Windows | Windows Server
Funzione JetSetSystemParameter
La funzione JetSetSystemParameter viene usata per impostare le numerose impostazioni di configurazione del motore di database.
JET_ERR JET_API JetSetSystemParameter(
__in_out_opt JET_INSTANCE* pinstance,
__in JET_SESID sesid,
__in unsigned long paramid,
__in JET_API_PTR lParam,
__in_opt JET_PCSTR szParam
);
Parametri
pinstance
Specifica l'istanza da usare per questa chiamata.
Windows 2000: Per Windows 2000, questo parametro viene ignorato e deve sempre essere NULL.
Windows XP: Per le versioni successive e Windows XP, questo parametro è in qualche modo sovraccaricato. Se il motore è operativo in modalità legacy (modalità di compatibilità windows 2000) in cui è supportata una sola istanza, questo parametro può essere NULL o può contenere l'istanza effettiva restituita da JetInit. In entrambi i casi, tutte le impostazioni dei parametri di sistema vengono lette da tale istanza. Se il motore funziona in modalità multiistanza, questo parametro può essere NULL o un puntatore a un'istanza creata usando JetInit o JetCreateIndex. Quando questo parametro è NULL , l'impostazione del parametro di sistema globale (o impostazione predefinita) viene letta. Quando questo parametro è un'istanza, l'impostazione del parametro di sistema per tale istanza viene letto.
Anche se questo è tecnicamente un parametro out, questa API non modifica mai il contenuto del buffer fornito.
sesid
Specifica la sessione da usare per questa chiamata.
Se specificato, l'istanza specificata viene ignorata e verrà usata l'istanza associata alla sessione.
paramid
ID del parametro di sistema che verrà impostato. Per un elenco completo dei parametri di sistema e delle relative proprietà, vedere Parametri di sistema .
lParam
Fornisce il valore da impostare per il parametro di sistema selezionato se il parametro di sistema è di un tipo integer.
szParam
Fornisce il valore per il parametro di sistema selezionato se il parametro di sistema è di tipo stringa.
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. Windows Vista: In Windows Vista e versioni successive, è possibile restituire l'esito positivo senza una modifica al valore del parametro di sistema. Per altre informazioni, vedere il parametro di sistema JET_paramEnableAdvanced nell'argomento Parametri meta . |
JET_errAlreadyInitialized |
L'istanza è stata inizializzata usando una chiamata a JetInit e questa operazione non può essere eseguita di conseguenza. Ciò può verificarsi per JetSetSystemParameter quando viene eseguito un tentativo di configurare un parametro di sistema dopo una modifica nel relativo valore non può influire sullo stato del motore di database. |
JET_errClientRequestToStopJetService |
Non è possibile completare l'operazione perché tutte le attività nell'istanza associata alla sessione non sono state interrotte in seguito a una chiamata a JetStopService. |
JET_errIndexTuplesInvalidLimits |
I parametri di indice tuple specificati non sono validi. Questo errore può essere restituito da JetSetSystemParameter solo quando si impostano JET_paramIndexTuplesLengthMin, JET_paramIndexTuplesLengthMax o JET_paramIndexTuplesToIndexMax su un valore non valido. Windows XP e Windows Server 2003: Questo può verificarsi solo in Windows XP e Windows Server 2003. |
JET_errInitInProgress |
Non è possibile completare l'operazione perché l'istanza associata alla sessione viene inizializzata. |
JET_errInstanceUnavailable |
Non è possibile completare l'operazione perché l'istanza associata alla sessione ha rilevato un errore irreversibile che richiede che l'accesso a tutti i dati venga revocato per proteggere l'integrità dei dati. Windows XP: Questo errore verrà restituito solo da Windows XP e versioni successive. |
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. Ciò può verificarsi per JetSetSystemParameter quando:
|
JET_errInvalidPath |
Il percorso del file system specificato non è valido. Questo errore può essere restituito da JetSetSystemParameter solo quando si impostano i parametri di sistema che rappresentano i percorsi del file system. Ad esempio, JET_paramSystemPath può restituire questo errore. |
JET_errNotInitialized |
Non è possibile completare l'operazione perché l'istanza associata alla sessione non è ancora stata inizializzata. |
JET_errRestoreInProgress |
Non è possibile completare l'operazione perché un'operazione di ripristino è in corso nell'istanza associata alla sessione. |
JET_errTermInProgress |
Non è possibile completare l'operazione perché l'istanza associata alla sessione viene arrestata. |
JET_errInvalidSesid |
L'handle di sessione non è valido o fa riferimento a una sessione chiusa. Questo errore non viene restituito in tutte le circostanze. Gli handle vengono convalidati solo su base ottimale. |
JET_errInvalidInstance |
L'handle di istanza non è valido o fa riferimento a un'istanza che è stata arrestata. Questo errore non viene restituito in tutte le circostanze. Gli handle vengono convalidati solo su base ottimale. Windows Vista: Questo errore verrà restituito solo da Windows Vista e versioni successive. |
In caso di esito positivo, l'impostazione del parametro di sistema verrà impostata sul valore specificato.
In caso di errore, l'impostazione del parametro di sistema rimarrà invariata.
Commenti
JetSetSystemParameter esegue un processo insufficiente per convalidare l'impostazione scelta per ogni parametro di sistema. È necessario prestare attenzione a non basarsi su questa convalida per applicare impostazioni valide. Prestare attenzione alla descrizione di ogni parametro di sistema e seguire queste linee guida per un'impostazione di parametri di sistema valida.
Esistono un set di parametri di sistema che devono essere sempre impostati per garantire che il motore di database funzioni come previsto. In particolare, tutti i parametri di sistema che influiscono sul layout fisico dei file usati dal motore di database devono essere sempre impostati. Per altre informazioni, vedere Parametri di sistema.
Ogni parametro di sistema ha un valore predefinito. Questi valori predefiniti si sono evoluti nel tempo e sono abbastanza arbitrari. È consigliabile che un'applicazione valuta tutti i valori predefiniti per assicurarsi che siano appropriati. Se non sono appropriati, devono essere configurati dall'applicazione. Questo è importante perché molti di questi parametri possono influire notevolmente sull'affidabilità, sulle prestazioni e sull'utilizzo delle risorse del motore di database.
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 JetSetSystemParameterW (Unicode) e JetSetSystemParameterA (ANSI). |
Vedere anche
JET_API_PTR
JET_ERR
JET_INSTANCE
JET_SESID
JetCreateInstance
JetGetSystemParameter
JetInit
Parametri di sistema