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

Vedere anche

GetCurrentDirectory

GetSystemDirectory

GetSystemWindowsDirectory

Funzioni di informazioni di sistema