SetFileShortNameW-Funktion (winbase.h)

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

Syntax

BOOL SetFileShortNameW(
  [in] HANDLE  hFile,
  [in] LPCWSTR 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 file geöffnet werden.

[in] lpShortName

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

Wenn Sie eine leere Zeichenfolge (länge null) angeben, wird der kurze Dateiname entfernt, sofern er für die durch den hFile-Parameter angegebene Datei vorhanden ist. Wenn kein kurzer Dateiname vorhanden ist, führt die Funktion keine Aktion aus und gibt den Erfolg 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
Die angegebene Datei wurde entweder im Modus zwischen Groß- und Kleinschreibung geöffnet, oder der angegebene Kurzname ist ungültig.

Hinweise

Der Aufrufer dieser Funktion muss über die berechtigung SE_RESTORE_NAME 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. Kurznamen 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 Code, der nicht Codierungsneutral ist, 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 (Windows.h einschließen)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

Dateiverwaltungsfunktionen

GetShortPathName