Funzione GetPrivateProfileStruct (winbase.h)
Recupera i dati associati a una chiave nella sezione specificata di un file di inizializzazione. Quando recupera i dati, la funzione calcola un checksum e la confronta con il checksum calcolato dalla funzione WritePrivateProfileStruct quando i dati sono stati aggiunti al file.
Sintassi
BOOL GetPrivateProfileStruct(
[in] LPCTSTR lpszSection,
[in] LPCTSTR lpszKey,
[out] LPVOID lpStruct,
[in] UINT uSizeStruct,
[in] LPCTSTR szFile
);
Parametri
[in] lpszSection
Nome della sezione nel file di inizializzazione.
[in] lpszKey
Nome della chiave i cui dati devono essere recuperati.
[out] lpStruct
Puntatore al buffer che riceve i dati associati al file, alla sezione e ai nomi delle chiavi.
[in] uSizeStruct
Dimensioni del buffer a cui punta il parametro lpStruct , in byte.
[in] szFile
Nome del file di inizializzazione. Se questo parametro non contiene un percorso completo del file, il sistema cerca il file nella directory di Windows.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è diverso da zero.
Se la funzione ha esito negativo, il valore restituito è zero.
Commenti
Una sezione nel file di inizializzazione deve avere il formato seguente:
[section]
key=data
.
.
.
Il sistema esegue il mapping della maggior parte dei riferimenti .ini file al Registro di sistema usando il mapping definito nella seguente chiave del Registro di sistema:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping
Questo mapping è probabile se un'applicazione modifica i file di inizializzazione dei componenti di sistema, ad esempio Control.ini, System.ini e Winfile.ini. In questi casi, la funzione recupera informazioni dal Registro di sistema, non dal file di inizializzazione; la modifica nella posizione di archiviazione non ha alcun effetto sul comportamento della funzione.
Le funzioni del profilo usano i passaggi seguenti per individuare le informazioni di inizializzazione:
- Cercare nel Registro di sistema il nome del file di inizializzazione, ad esempio MyFile.ini, in IniFileMapping.
- Cercare il nome della sezione specificato da lpAppName. Questo valore sarà denominato in myfile.inio una sottochiave di myfile.inio non esisterà.
- Se il nome della sezione specificato da lpAppName è un valore denominato in myfile.ini, tale valore specifica dove nel Registro di sistema verranno trovate le chiavi per la sezione.
- Se il nome della sezione specificato da lpAppName è una sottochiave di myfile.ini, i valori denominati nella sottochiave specificano dove nel Registro di sistema sono disponibili le chiavi per la sezione. Se la chiave che si sta cercando non esiste come valore denominato, sarà presente un valore senza nome (visualizzato come <Nessun> nome) che specifica la posizione predefinita nel Registro di sistema in cui si troverà la chiave.
- Se il nome della sezione specificato da lpAppName non esiste come valore denominato o come sottochiave in myfile.ini, sarà presente un valore senza nome (visualizzato come <Nessun> nome) in myfile.ini che specifica la posizione predefinita nel Registro di sistema in cui verranno trovate le chiavi per la sezione.
- Se non è presente alcuna sottochiavemyfile.ini o se non contiene una voce per il nome della sezione, cercare il MyFile.ini effettivo sul disco e leggere il relativo contenuto.
- ! - questo carattere forza tutte le scritture per passare al Registro di sistema e al file .ini su disco.
- # : questo carattere causa l'impostazione del valore del Registro di sistema sul valore nel file windows 3.1 .ini quando un nuovo utente accede per la prima volta dopo l'installazione.
- @ : questo carattere impedisce alle letture di passare al file di .ini su disco se i dati richiesti non vengono trovati nel Registro di sistema.
- USR: questo prefisso è HKEY_CURRENT_USER e il testo dopo il prefisso è relativo a tale chiave.
- SYS: questo prefisso indica HKEY_LOCAL_MACHINE\SOFTWAREe il testo dopo che il prefisso è relativo a tale chiave.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winbase.h (include Windows.h) |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |