Condividi tramite


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|DELETEe con l'attributo file FILE_FLAG_BACKUP_SEMANTICS.

[in] lpShortName

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

Se si specifica una stringa vuota (di lunghezza zero) verrà rimosso il nome di file breve, se esistente 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 ottenere informazioni estese 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.

Osservazioni

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 Sostenuto
Protocollo SMB (Server Message Block) 3.0
SMB 3.0 Transparent Failover (TFO) No
SMB 3.0 con condivisioni file con scalabilità orizzontale (SO) No
Cluster Shared Volume File System (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 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 XP [solo app desktop]
server minimo supportato Windows Server 2003 [solo app desktop]
piattaforma di destinazione Finestre
intestazione winbase.h (include Windows.h)
libreria Kernel32.lib
dll Kernel32.dll

Vedere anche

funzioni di gestione file

GetShortPathName