Funzione GetWindowsDirectoryA (sysinfoapi.h)
Recupera il percorso della directory di Windows.
Questa funzione viene fornita principalmente per la compatibilità con le applicazioni legacy. Le nuove applicazioni devono archiviare il codice nella cartella Programmi e i dati permanenti nella cartella Dati applicazione nel profilo dell'utente. Per altre informazioni, vedere ShGetFolderPath.
Sintassi
UINT GetWindowsDirectoryA(
[out] LPSTR lpBuffer,
[in] UINT uSize
);
Parametri
[out] lpBuffer
Puntatore a un buffer che riceve il percorso. Questo percorso non termina con una barra rovesciata a meno che la directory di Windows non sia la directory radice. Ad esempio, se la directory di Windows è denominata Windows nell'unità C, il percorso della directory di Windows recuperata da questa funzione è C:\Windows. Se il sistema è stato installato nella directory radice dell'unità C, il percorso recuperato è C:.
[in] uSize
Dimensione massima del buffer specificato dal parametro lpBuffer
Valore restituito
Se la funzione ha esito positivo, il valore restituito è la lunghezza della stringa copiata nel buffer, in TCHARs, senza includere il carattere Null di terminazione.
Se la lunghezza è maggiore delle dimensioni del buffer, il valore restituito è la dimensione del buffer necessaria per contenere il percorso.
Se la funzione ha esito negativo, il valore restituito è zero. Per ottenere informazioni estese sull'errore, chiamare GetLastError.
Osservazioni
La directory di Windows è la directory in cui alcune applicazioni legacy archiviano i file di inizializzazione e guida. Le nuove applicazioni non devono archiviare i file nella directory di Windows; Devono invece archiviare i dati a livello di sistema nella directory di installazione dell'applicazione e i dati specifici dell'utente nel profilo dell'utente.
Se l'utente esegue una versione condivisa del sistema, la directory di Windows è garantita come privata per ogni utente.
Se un'applicazione crea altri file da archiviare in base all'utente, deve inserirli nella directory specificata dalla variabile di ambiente HOMEPATH. Questa directory sarà diversa per ogni utente, se specificato da un amministratore, tramite lo strumento di amministrazione di User Manager. HOMEPATH specifica sempre la home directory dell'utente, che è garantita come privata per ogni utente o una directory predefinita (ad esempio, C:\USERS\DEFAULT) in cui l'utente avrà tutti gli accessi.
Servizi terminal: Se l'applicazione è in esecuzione in un ambiente Servizi terminal, ogni utente dispone di una directory di Windows privata. È disponibile anche una directory di Windows condivisa per il sistema. Se l'applicazione è compatibile con Terminal-Services (ha il flag IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE impostato nell'intestazione dell'immagine), questa funzione restituisce il percorso della directory di Windows di sistema, proprio come la funzione GetSystemWindowsDirectory. In caso contrario, recupera il percorso della directory di Windows privata per l'utente.
Esempi
Per un esempio, vedere Getting System Information.
Nota
L'intestazione sysinfoapi.h definisce GetWindowsDirectory come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 2000 Professional [solo app desktop] |
server minimo supportato | Windows 2000 Server [solo app desktop] |
piattaforma di destinazione | Finestre |
intestazione |
sysinfoapi.h (include Windows.h) |
libreria |
Kernel32.lib |
dll | Kernel32.dll |