Funzione GetProfileSectionW (winbase.h)

Recupera tutte le chiavi e i valori per la sezione specificata del file Win.ini.

Nota Questa funzione viene fornita solo per la compatibilità con applicazioni basate su Windows a 16 bit. Le applicazioni devono archiviare le informazioni di inizializzazione nel Registro di sistema.
 

Sintassi

DWORD GetProfileSectionW(
  [in]  LPCWSTR lpAppName,
  [out] LPWSTR  lpReturnedString,
  [in]  DWORD   nSize
);

Parametri

[in] lpAppName

Nome della sezione nel file di Win.ini.

[out] lpReturnedString

Puntatore a un buffer che riceve le chiavi e i valori associati alla sezione denominata. Il buffer viene riempito con una o più stringhe con terminazione null; l'ultima stringa è seguita da un secondo carattere Null.

[in] nSize

Dimensioni del buffer a cui punta il parametro lpReturnedString , in caratteri.

La dimensione massima del profilo è di 32.767 caratteri.

Valore restituito

Il valore restituito specifica il numero di caratteri copiati nel buffer specificato, non incluso il carattere Null terminante. Se il buffer non è sufficiente per contenere tutte le chiavi e i valori associati alla sezione denominata, il valore restituito è uguale alla dimensione specificata da nSize meno due.

Commenti

Il formato delle chiavi e dei valori restituiti è una o più stringhe con terminazione null, seguita da un carattere Null finale. Ogni stringa ha il formato seguente:stringadi chiave=

La funzione GetProfileSection non è distinzione tra maiuscole e minuscole; le stringhe possono essere una combinazione di lettere maiuscole e minuscole.

Questa operazione è atomica; non sono consentiti aggiornamenti del file Win.ini mentre le chiavi e i valori per la sezione vengono copiati nel buffer.

Windows Server 2003 e Windows XP/2000: Le chiamate alle funzioni del profilo possono essere mappate al Registro di sistema anziché ai file di inizializzazione. Questo mapping si verifica quando il file di inizializzazione e la sezione vengono specificati nel Registro di sistema nella chiave seguente: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\IniFileMapping.

Quando l'operazione è stata mappata, la funzione GetProfileSection 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:

  1. Cercare nel Registro di sistema il nome del file di inizializzazione nella chiave IniFileMapping .
  2. Cercare il nome della sezione specificato da lpAppName. Questo sarà un valore denominato nella chiave con il nome del file di inizializzazione o una sottochiave con questo nome o il nome non esisterà come valore o sottochiave.
  3. Se il nome della sezione specificato da lpAppName è un valore denominato, tale valore specifica dove nel Registro di sistema verranno trovate le chiavi per la sezione.
  4. Se il nome della sezione specificato da lpAppName è una sottochiave, 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.
  5. Se il nome della sezione specificato da lpAppName non esiste come valore denominato o come sottochiave, sarà presente un valore senza nome (visualizzato come <Nessun> nome) che specifica la posizione predefinita nel Registro di sistema in cui saranno disponibili le chiavi per la sezione.
  6. Se non è presente alcuna sottochiave o voce per il nome della sezione, cercare il file di inizializzazione effettivo sul disco e leggerne il contenuto.
Quando si esaminano i valori nel Registro di sistema che specificano altre posizioni del Registro di sistema, esistono diversi prefissi che modificano il comportamento del mapping dei file di .ini:
  • ! - 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.

Nota

L'intestazione winbase.h definisce GetProfileSection come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

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

Vedere anche

GetPrivateProfileSection

WriteProfileSection