Freigeben über


SetFileShortNameA-Funktion (winbase.h)

Legt den Kurznamen für die angegebene Datei fest. Die Datei muss sich auf einem NTFS-Dateisystemvolume befinden.

Syntax

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

Parameter

[in] hFile

Ein Handle zur Datei. Die Datei muss entweder mit dem zugriffsrecht GENERIC_ALL oder GENERIC_WRITE|DELETE und mit dem attribut FILE_FLAG_BACKUP_SEMANTICS datei geöffnet werden.

[in] lpShortName

Ein Zeiger auf eine Zeichenfolge, die den kurzen Namen für die Datei angibt.

Wenn Sie eine leere Zeichenfolge (länge null) angeben, wird der kurze Dateiname entfernt, wenn er für die durch den hFile-Parameter angegebene Datei vorhanden ist. Wenn kein kurzer Dateiname vorhanden ist, tut die Funktion nichts und gibt erfolgreich zurück.

Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieses Verhalten wird nicht unterstützt. Der Parameter muss eine gültige Zeichenfolge mit mindestens einem Zeichen enthalten.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf. GetLastError gibt möglicherweise einen der folgenden Fehlercodes zurück, die für diese Funktion spezifisch sind.

Rückgabecode Beschreibung
ERROR_ALREADY_EXISTS
Der angegebene Kurzname ist nicht eindeutig.
ERROR_INVALID_PARAMETER
Entweder wurde die angegebene Datei im Modus zwischen Groß- und Kleinschreibung geöffnet, oder der angegebene kurze Name ist ungültig.

Hinweise

Der Aufrufer dieser Funktion muss über das SE_RESTORE_NAME-Recht verfügen. Weitere Informationen finden Sie unter Ausführen mit speziellen Berechtigungen.

Unter Windows 8 und Windows Server 2012 wird diese Funktion von den folgenden Technologien unterstützt.

Technologie Unterstützt
SMB 3.0-Protokoll (Server Message Block) Ja
SMB 3.0 Transparent Failover (TFO) No
SMB 3.0 mit Dateifreigaben mit horizontaler Skalierung (SO) No
Dateisystem mit freigegebenen Clustervolumes (CsvFS) Ja
Robustes Dateisystem (Resilient File System, ReFS) No
 

SMB 3.0 unterstützt keine Kurznamen auf Freigaben mit Continuous Availability-Funktion. Kurze Namen werden für CsvFs nicht empfohlen.

Hinweis

Der winbase.h-Header definiert SetFileShortName als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winbase.h (einschließlich Windows.h)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

Dateiverwaltungsfunktionen

GetShortPathName