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 persistenti 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 recuperato da questa funzione è C:\Windows. Se il sistema è stato installato nella directory radice dell'unità C, il percorso recuperato è C:.
[in] uSize
Dimensioni massime del buffer specificato dal parametro lpBuffer , in TCHAR. Questo valore deve essere impostato su MAX_PATH.
Valore restituito
Se la funzione ha esito positivo, il valore restituito corrisponde alla lunghezza della stringa copiata nel buffer, in TCHAR, 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 informazioni dettagliate sull'errore, chiamare GetLastError.
Commenti
La directory di Windows è la directory in cui alcune applicazioni legacy archiviano l'inizializzazione e i file della 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 ha 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, come avviene con la funzione GetSystemWindowsDirectory . In caso contrario, recupera il percorso della directory privata di Windows per l'utente.
Esempio
Per un esempio, vedere Recupero delle informazioni di sistema.
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 che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.
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 | sysinfoapi.h (include Windows.h) |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |