Freigeben über


SetSearchPathMode-Funktion (winbase.h)

Legt den Prozessmodus fest, den die SearchPath-Funktion beim Auffinden von Dateien verwendet.

Syntax

BOOL SetSearchPathMode(
  [in] DWORD Flags
);

Parameter

[in] Flags

Der zu verwendende Suchmodus.

Wert Bedeutung
BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE
0x00000001
Aktivieren Sie den Suchmodus für sichere Prozesse für den Prozess.
BASE_SEARCH_PATH_DISABLE_SAFE_SEARCHMODE
0x00010000
Deaktivieren Sie den Suchmodus für sichere Prozesse für den Prozess.
BASE_SEARCH_PATH_PERMANENT
0x00008000
Optionales Flag, das in Kombination mit BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE verwendet werden soll, um diesen Modus für diesen Prozess dauerhaft zu machen. Dies erfolgt durch bitweise OR-Operation :

(BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE | BASE_SEARCH_PATH_PERMANENT)

Dieses Flag kann nicht mit dem BASE_SEARCH_PATH_DISABLE_SAFE_SEARCHMODE-Flag kombiniert werden.

Rückgabewert

Wenn der Vorgang erfolgreich abgeschlossen wird, gibt die SetSearchPathMode-Funktion einen Wert ungleich null zurück.

Wenn der Vorgang fehlschlägt, gibt die SetSearchPathMode-Funktion null zurück. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie die GetLastError-Funktion auf.

Wenn die SetSearchPathMode-Funktion fehlschlägt, weil ein Parameterwert ungültig ist, wird der von der GetLastError-Funktion zurückgegebene Wert ERROR_INVALID_PARAMETER.

Wenn die SetSearchPathMode-Funktion fehlschlägt, weil die Kombination aus aktuellem Zustand und Parameterwert ungültig ist, wird der von der GetLastError-Funktion zurückgegebene Wert ERROR_ACCESS_DENIED. Weitere Informationen finden Sie im Abschnitt mit Hinweisen.

Bemerkungen

Wenn die SetSearchPathMode-Funktion für den aktuellen Prozess nicht erfolgreich aufgerufen wurde, wird der von der SearchPath-Funktion verwendete Suchmodus aus der Systemregistrierung abgerufen. Weitere Informationen finden Sie unter SearchPath.

Nachdem die SetSearchPathMode-Funktion für den aktuellen Prozess erfolgreich aufgerufen wurde, wird die Einstellung in der Systemregistrierung zugunsten des zuletzt erfolgreich festgelegten Modus ignoriert.

Wenn die SetSearchPathMode-Funktion für den aktuellen Prozess erfolgreich aufgerufen wurde, wobei Flags auf (BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE | BASE_SEARCH_PATH_PERMANENT)festgelegt sind, wird der abgesicherte Modus für den aufrufenden Prozess dauerhaft festgelegt. Alle nachfolgenden Aufrufe der SetSearchPathMode-Funktion innerhalb dieses Prozesses, die versuchen, den Suchmodus zu ändern, schlagen mit ERROR_ACCESS_DENIED aus der GetLastError-Funktion fehl.

Hinweis Da das Festlegen des sicheren Suchmodus für die Lebensdauer des Prozesses, für den festgelegt wurde, nicht dauerhaft deaktiviert werden kann, sollte er mit bedachter Überlegung verwendet werden. Dies gilt insbesondere für die DLL-Entwicklung, bei der der Benutzer der DLL von dieser prozessweiten Einstellung betroffen ist.
 
Es ist nicht möglich, den sicheren Suchmodus dauerhaft zu deaktivieren.

Diese Funktion ändert die Systemregistrierung nicht.

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

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winbase.h (Windows.h einschließen)
Bibliothek Kernel32.lib
DLL Kernel32.dll
Verteilbare Komponente KB959426 unter Windows XP mit SP2 und höher und Windows Server 2003 mit SP1 und höher

Weitere Informationen

Dateiverwaltungsfunktionen

SearchPath