NeedCurrentDirectoryForExePathA-Funktion (processenv.h)

Bestimmt, ob das aktuelle Verzeichnis in den Suchpfad für die angegebene ausführbare Datei eingeschlossen werden soll.

Syntax

BOOL NeedCurrentDirectoryForExePathA(
  [in] LPCSTR ExeName
);

Parameter

[in] ExeName

Der Name der ausführbaren Datei.

Rückgabewert

Wenn das aktuelle Verzeichnis Teil des Suchpfads sein soll, ist der Rückgabewert TRUE. Andernfalls ist der Rückgabewert FALSE.

Hinweise

Diese Funktion sollte nur in Fällen aufgerufen werden, in denen der Aufrufer explizit einen relativen ausführbaren Namen in einen absoluten Namen auflösen muss. Wenn CreateProcess mit einem relativen ausführbaren Namen aufgerufen wird, wird automatisch nach der ausführbaren Datei gesucht und diese Funktion aufgerufen, um den Suchpfad zu bestimmen.

Die meisten Systemfunktionen führen eine eigene Pfadauflösung aus. Daher sollte diese Funktion nur aufgerufen werden, wenn Sie versuchen, einen Suchpfad für die angegebene ausführbare Datei basierend auf dem aktuellen Verzeichnis aufzulösen.

Der Wert der Umgebungsvariable NoDefaultCurrentDirectoryInExePath bestimmt den Wert, den diese Funktion zurückgibt. Sie sollten diese Funktion jedoch aufrufen, anstatt die Umgebungsvariable direkt zu überprüfen, da sich der Registrierungsspeicherort dieser Umgebungsvariable ändern kann.

Wenn der Wert des ExeName-Parameters einen umgekehrten Schrägstrich (\) enthält, gibt diese Funktion immer TRUE zurück. Wenn sie keinen umgekehrten Schrägstrich enthält, wird das Vorhandensein der Umgebungsvariable NoDefaultCurrentDirectoryInExePath und nicht des Werts überprüft.

Ein Beispiel für eine instance, wenn diese Funktion aufgerufen werden soll, anstatt sich auf den Standardalgorithmus für die Suchpfadauflösung in CreateProcess zu verlassen, ist die ausführbare Datei "cmd.exe". Diese Funktion wird aufgerufen, um den Suchpfad des Befehls zu bestimmen, da vor dem Aufruf von CreateProcess eine eigene Pfadauflösung ausgeführt wird. Wenn diese Funktion TRUE zurückgibt, verwendet cmd.exe den Pfad ".; %PATH%" für die ausführbare Suche. Wenn FALSE zurückgegeben wird, verwendet cmd.exe den Pfad "%PATH%" für die Suche.

Hinweis

Der processenv.h-Header definiert NeedCurrentDirectoryForExePath 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 Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile processenv.h (einschließlich Windows.h unter Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

CreateProcess

Prozess- und Threadfunktionen