Freigeben über


GetTempPath2A-Funktion (fileapi.h)

Ruft den Pfad des Verzeichnisses ab, das für temporäre Dateien bestimmt ist, basierend auf den Berechtigungen des aufrufenden Prozesses.

Syntax

DWORD GetTempPath2A(
  [in]  DWORD BufferLength,
  [out] LPSTR Buffer
);

Parameter

[in] BufferLength

Die Größe des durch lpBufferidentifizierten Zeichenfolgenpuffers in TCHARs.

[out] Buffer

Ein Zeiger auf einen Zeichenfolgenpuffer, der die mit 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 in TCHARsder Zeichenfolge, die in lpBuffer-kopiert wurde, nicht einschließlich des endenden NULL-Zeichens. Wenn der Rückgabewert größer als nBufferLengthist, ist der Rückgabewert die Länge in TCHARsdes Puffers, der zum Speichern des Pfads erforderlich ist.

Wenn die Funktion fehlschlägt, ist der Rückgabewert null. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.

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

Bemerkungen

Beim Aufrufen dieser Funktion von einem Prozess, der als SYSTEM ausgeführt wird, wird der Pfad "C:\Windows\SystemTemp" zurückgegeben, auf den nicht SYSTEM-Prozesse zugegriffen werden kann. Bei Nicht-SYSTEM-Prozessen verhält sich GetTempPath2- mit GetTempPath-identisch.

Bei Nicht-Systemprozessen sucht die GetTempPath2--Funktion nach dem Vorhandensein von Umgebungsvariablen in der folgenden Reihenfolge und verwendet den ersten gefundenen Pfad:

  1. Der durch die TMP-Umgebungsvariable angegebene Pfad.
  2. Der durch die TEMP-Umgebungsvariable angegebene Pfad.
  3. Der pfad, der von der USERPROFILE-Umgebungsvariable angegeben wird.
  4. Das Windows-Verzeichnis.

Beachten Sie, dass die Funktion nicht überprüft, ob der Pfad vorhanden ist, oder ob der aktuelle Prozess über eine Art von Zugriffsrechten für den Pfad verfügt. Die GetTempPath2--Funktion gibt die ordnungsgemäß formatierte Zeichenfolge zurück, die den vollqualifizierten Pfad basierend auf der Suchreihenfolge der Umgebungsvariablen wie zuvor angegeben angibt. Die Anwendung sollte das Vorhandensein des Pfads und angemessene Zugriffsrechte für den Pfad vor jeder Verwendung für Datei-E/A-Vorgänge überprüfen.

Verhalten symbolischer Verknüpfungen: Wenn der Pfad auf eine symbolische Verknüpfung verweist, behält der Name des temporären Pfads symbolische Verknüpfungen bei.

In Windows 8 und Windows Server 2012 wird diese Funktion von den folgenden Technologien unterstützt:

Technologie Abgestützt
Server Message Block (SMB) 3.0-Protokoll Ja
SMB 3.0 Transparent Failover (TFO) Ja
SMB 3.0 mit Skalierungsdateifreigaben (SO) Ja
Freigegebenes Clustervolumedateisystem (CsvFS) Ja
Resilient File System (ReFS) Ja

Beispiele

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

Anmerkung

Der fileapi.h-Header definiert GetTempPath2 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
mindestens unterstützte Client- Windows 11 Build 22000
mindestens unterstützte Server- Windows Server Build 20348
Header- fileapi.h (include Windows.h)
Library Kernel32.lib
DLL- Kernel32.dll

Siehe auch

Dateiverwaltungsfunktionen

GetTempFileName-

symbolische Verknüpfungen