GetTempPathA-Funktion (fileapi.h)

Ruft den Pfad des Verzeichnisses für temporäre Dateien ab.

Syntax

DWORD GetTempPathA(
  [in]  DWORD nBufferLength,
  [out] LPSTR lpBuffer
);

Parameter

[in] nBufferLength

Die Größe des von lpBuffer identifizierten Zeichenfolgenpuffers in TCHARs.

[out] lpBuffer

Ein Zeiger auf einen Zeichenfolgenpuffer, der die null-beendete Zeichenfolge empfängt, die den temporären Dateipfad angibt. Die zurückgegebene Zeichenfolge endet mit einem umgekehrten Schrägstrich, z. B. "C:\TEMP\".

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert die Länge der in lpBuffer kopierten Zeichenfolge in TCHARs, ohne das beendende NULL-Zeichen. Wenn der Rückgabewert größer als nBufferLength ist, ist der Rückgabewert die Länge des Puffers, der zum Speichern des Pfads erforderlich ist, in TCHARs.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Der maximal mögliche Rückgabewert ist MAX_PATH+1 (261).

Hinweise

Hinweis

Apps sollten GetTempPath2 anstelle von GetTempPath aufrufen.

Die GetTempPath-Funktion überprüft das Vorhandensein von Umgebungsvariablen in der folgenden Reihenfolge und verwendet den ersten gefundenen Pfad:

  1. Den durch die TMP-Umgebungsvariable angegebenen Pfad.
  2. Den durch die TEMP-Umgebungsvariable angegebenen Pfad.
  3. Den durch die USERPROFILE-Umgebungsvariable angegebenen Pfad.
  4. Das Windows-Verzeichnis.
Beachten Sie, dass die Funktion weder überprüft, ob der Pfad vorhanden ist, noch wird getestet, ob der aktuelle Prozess über irgendwelche Zugriffsrechte für den Pfad verfügt. Die GetTempPath-Funktion gibt die ordnungsgemäß formatierte Zeichenfolge zurück, die den vollqualifizierten Pfad basierend auf der Suchreihenfolge der Umgebungsvariablen angibt, wie zuvor angegeben. Die Anwendung sollte vor jeder Verwendung für Datei-E/A-Vorgänge überprüfen, ob der Pfad und die entsprechenden Zugriffsrechte für den Pfad vorhanden sind.

Verhalten symbolischer Verknüpfungen: Wenn der Pfad auf einen symbolischen Link verweist, behält der Name des temporären Pfads alle symbolischen Verknüpfungen bei.

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) Ja
SMB 3.0 mit Dateifreigaben mit horizontaler Skalierung (SO) Ja
Dateisystem mit freigegebenen Clustervolumes (CsvFS) Ja
Robustes Dateisystem (Resilient File System, ReFS) Ja
 

Beispiele

Ein Beispiel finden Sie unter Erstellen und Verwenden einer temporären Datei.

Hinweis

Der Fileapi.h-Header definiert GetTempPath als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante 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

   
Unterstützte Mindestversion (Client) Windows XP [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile fileapi.h (Einschließen von Windows.h)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

Dateiverwaltungsfunktionen

GetTempFileName

Symbolische Links