Compartir a través de


Función SetSearchPathMode (winbase.h)

Establece el modo por proceso que usa la función SearchPath al buscar archivos.

Sintaxis

BOOL SetSearchPathMode(
  [in] DWORD Flags
);

Parámetros

[in] Flags

Modo de búsqueda que se va a usar.

Value Significado
BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE
0x00000001
Habilite el modo de búsqueda de procesos seguros para el proceso.
BASE_SEARCH_PATH_DISABLE_SAFE_SEARCHMODE
0x00010000
Deshabilite el modo de búsqueda de procesos seguros para el proceso.
BASE_SEARCH_PATH_PERMANENT
0x00008000
Marca opcional que se va a usar en combinación con BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE para que este modo sea permanente para este proceso. Esto se realiza mediante la operación OR bit a bit:

(BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE | BASE_SEARCH_PATH_PERMANENT)

Esta marca no se puede combinar con la marca BASE_SEARCH_PATH_DISABLE_SAFE_SEARCHMODE .

Valor devuelto

Si la operación se completa correctamente, la función SetSearchPathMode devuelve un valor distinto de cero.

Si se produce un error en la operación, la función SetSearchPathMode devuelve cero. Para obtener información ampliada de los errores, llame a la función GetLastError.

Si se produce un error en la función SetSearchPathMode porque un valor de parámetro no es válido, el valor devuelto por la función GetLastError se ERROR_INVALID_PARAMETER.

Si se produce un error en la función SetSearchPathMode porque la combinación del estado actual y el valor del parámetro no son válidos, el valor devuelto por la función GetLastError se ERROR_ACCESS_DENIED. Para obtener más información, vea la sección Comentarios.

Comentarios

Si la función SetSearchPathMode no se ha llamado correctamente al proceso actual, el modo de búsqueda usado por la función SearchPath se obtiene del registro del sistema. Para obtener más información, consulte SearchPath.

Una vez que se haya llamado correctamente a la función SetSearchPathMode para el proceso actual, la configuración del registro del sistema se omite en favor del modo establecido correctamente más recientemente.

Si se ha llamado correctamente a la función SetSearchPathMode para el proceso actual con Flags establecido (BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE | BASE_SEARCH_PATH_PERMANENT)en , el modo seguro se establece permanentemente para el proceso de llamada. Las llamadas posteriores a la función SetSearchPathMode desde ese proceso que intenten cambiar el modo de búsqueda producirán un error con ERROR_ACCESS_DENIED de la función GetLastError .

Nota Dado que establecer el modo de búsqueda segura de forma permanente no se puede deshabilitar durante la vida útil del proceso para el que se estableció, debe usarse con una consideración cuidadosa. Esto es especialmente cierto para el desarrollo de DLL, donde el usuario del archivo DLL se verá afectado por esta configuración de todo el proceso.
 
No es posible deshabilitar permanentemente el modo de búsqueda segura.

Esta función no modifica el registro del sistema.

En Windows 8 y Windows Server 2012, esta función es compatible con las tecnologías siguientes.

Tecnología Compatible
Protocolo Bloque de mensajes del servidor (SMB) 3.0
Conmutación por error transparente (TFO) de SMB 3.0
SMB 3.0 con recursos compartidos de archivos de escalabilidad horizontal (SO)
Sistema de archivos de Volumen compartido de clúster (CsvFS)
Sistema de archivos resistente a errores (ReFS)

Requisitos

   
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winbase.h (incluya Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll
Redistribuible KB959426 en Windows XP con SP2 y versiones posteriores y Windows Server 2003 con SP1 y versiones posteriores

Consulte también

Funciones de administración de archivos

SearchPath