Funzione SetFileShortNameA (winbase.h)

Imposta il nome breve per il file specificato. Il file deve trovarsi in un volume del file system NTFS.

Sintassi

BOOL SetFileShortNameA(
  [in] HANDLE hFile,
  [in] LPCSTR lpShortName
);

Parametri

[in] hFile

Handle per il file. Il file deve essere aperto con il diritto di accesso GENERIC_ALL o GENERIC_WRITE|DELETE e con l'attributo file FILE_FLAG_BACKUP_SEMANTICS .

[in] lpShortName

Puntatore a una stringa che specifica il nome breve per il file.

Se si specifica una stringa vuota (lunghezza zero) verrà rimosso il nome del file breve, se presente per il file specificato dal parametro hFile . Se non esiste un nome di file breve, la funzione non eseguirà alcuna operazione e restituirà l'esito positivo.

Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo comportamento non è supportato. Il parametro deve contenere una stringa valida di uno o più caratteri.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError. GetLastError può restituire uno dei codici di errore seguenti specifici di questa funzione.

Codice restituito Descrizione
ERROR_ALREADY_EXISTS
Il nome breve specificato non è univoco.
ERROR_INVALID_PARAMETER
Il file specificato è stato aperto in modalità con distinzione tra maiuscole e minuscole oppure il nome breve specificato non è valido.

Commenti

Il chiamante di questa funzione deve avere il privilegio SE_RESTORE_NAME . Per altre informazioni, vedere Esecuzione con privilegi speciali.

In Windows 8 e Windows Server 2012 questa funzione è supportata dalle tecnologie seguenti.

Tecnologia Supportato
Protocollo SMB (Server Message Block) 3.0
Failover trasparente SMB 3.0 (TFO) No
SMB 3.0 con condivisioni file di scalabilità orizzontale (SO) No
File system del volume condiviso cluster (CsvFS)
Resilient File System (ReFS) No
 

SMB 3.0 non supporta nomi brevi nelle condivisioni con funzionalità di disponibilità continua. I nomi brevi non sono consigliati in CsvFs.

Nota

L'intestazione winbase.h definisce SetFileShortName 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 XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winbase.h (include Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

Funzioni di gestione file

GetShortPathName