Condividi tramite


Funzione SetSearchPathMode (winbase.h)

Imposta la modalità per processo usata dalla funzione SearchPath durante l'individuazione dei file.

Sintassi

BOOL SetSearchPathMode(
  [in] DWORD Flags
);

Parametri

[in] Flags

Modalità di ricerca da usare.

Valore Significato
BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE
0x00000001
Abilitare la modalità di ricerca del processo sicuro per il processo.
BASE_SEARCH_PATH_DISABLE_SAFE_SEARCHMODE
0x00010000
Disabilitare la modalità di ricerca dei processi sicuri per il processo.
BASE_SEARCH_PATH_PERMANENT
0x00008000
Flag facoltativo da usare in combinazione con BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE per rendere permanente questa modalità per questo processo. Questa operazione viene eseguita tramite un'operazione OR bit per bit:

(BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE | BASE_SEARCH_PATH_PERMANENT)

Questo flag non può essere combinato con il flag di BASE_SEARCH_PATH_DISABLE_SAFE_SEARCHMODE .

Valore restituito

Se l'operazione viene completata correttamente, la funzione SetSearchPathMode restituisce un valore diverso da zero.

Se l'operazione ha esito negativo, la funzione SetSearchPathMode restituisce zero. Per ottenere informazioni sull'errore estese, chiamare la funzione GetLastError .

Se la funzione SetSearchPathMode ha esito negativo perché un valore di parametro non è valido, il valore restituito dalla funzione GetLastError sarà ERROR_INVALID_PARAMETER.

Se la funzione SetSearchPathMode ha esito negativo perché la combinazione di stato corrente e valore di parametro non è valida, il valore restituito dalla funzione GetLastError sarà ERROR_ACCESS_DENIED. Per altre informazioni, vedere la sezione Osservazioni.

Commenti

Se la funzione SetSearchPathMode non è stata chiamata correttamente per il processo corrente, la modalità di ricerca utilizzata dalla funzione SearchPath viene ottenuta dal Registro di sistema. Per altre informazioni, vedere SearchPath.

Dopo che la funzione SetSearchPathMode è stata chiamata correttamente per il processo corrente, l'impostazione nel Registro di sistema viene ignorata a favore della modalità impostata di recente correttamente.

Se la funzione SetSearchPathMode è stata chiamata correttamente per il processo corrente con Flag impostati su (BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE | BASE_SEARCH_PATH_PERMANENT), la modalità provvisoria è impostata in modo permanente per il processo chiamante. Tutte le chiamate successive alla funzione SetSearchPathMode dall'interno del processo che tentano di modificare la modalità di ricerca avranno esito negativo con ERROR_ACCESS_DENIED dalla funzione GetLastError .

Nota Poiché l'impostazione della modalità di ricerca sicura in modo permanente non può essere disabilitata per la vita del processo per cui è stato impostato, deve essere usata con attenzione. Questo è particolarmente vero per lo sviluppo di DLL, in cui l'utente della DLL sarà interessato da questa impostazione a livello di processo.
 
Non è possibile disabilitare definitivamente la modalità di ricerca sicura.

Questa funzione non modifica il Registro di sistema.

In Windows 8 e Windows Server 2012 questa funzione è supportata dalle tecnologie seguenti.

Tecnologia Supportato
Protocollo SMB (Server Message Block) 3.0
Failover trasparente SMB 3.0 (TFO)
SMB 3.0 con condivisioni file con scalabilità orizzontale (SO)
File system del volume condiviso del cluster (CsvFS)
File system resiliente (ReFS)

Requisiti

   
Client minimo supportato Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winbase.h (include Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll
Componente ridistribuibile KB959426 in Windows XP con SP2 e versioni successive e Windows Server 2003 con SP1 e versioni successive

Vedi anche

Funzioni di gestione file

Searchpath