Función SetDllDirectoryA (winbase.h)
Agrega un directorio a la ruta de acceso de búsqueda que se usa para buscar archivos DLL para la aplicación.
Sintaxis
BOOL SetDllDirectoryA(
[in, optional] LPCSTR lpPathName
);
Parámetros
[in, optional] lpPathName
Directorio que se va a agregar a la ruta de acceso de búsqueda. Si este parámetro es una cadena vacía (""), la llamada quita el directorio actual del orden de búsqueda de DLL predeterminado. Si este parámetro es NULL, la función restaura el orden de búsqueda predeterminado.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es distinto de cero.
Si se produce un error en la función, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Observaciones
La función setDllDirectory
Nota
En el caso de los procesos Win32 que no no ejecutar un proceso empaquetado o protegido, llamar a esta función también afectará al orden de búsqueda dll de los procesos secundarios iniciados desde el proceso que ha llamado a la función.
Después de llamar a SetDllDirectory, la ruta de búsqueda de DLL estándar es:
- Directorio desde el que se cargó la aplicación.
- Directorio especificado por el parámetro lpPathName.
- Directorio del sistema. Use la función GetSystemDirectory para obtener la ruta de acceso de este directorio. El nombre de este directorio es System32.
- Directorio del sistema de 16 bits. No hay ninguna función que obtenga la ruta de acceso de este directorio, pero se busca. El nombre de este directorio es System.
- Directorio de Windows. Use la función GetWindowsDirectory para obtener la ruta de acceso de este directorio.
- Directorios que aparecen en la variable de entorno PATH.
Para revertir a la ruta de acceso de búsqueda estándar usada por LoadLibrary y LoadLibraryEx, llame a SetDllDirectory con NULL. Esto también restaura el modo de búsqueda de DLL seguro basado en el SafeDllSearchMode valor del Registro.
Para compilar una aplicación que use esta función, defina _WIN32_WINNT como 0x0502 o posterior. Para obtener más información, vea Using the Windows Headers.
Nota
El encabezado winbase.h define SetDllDirectory como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows Vista, Windows XP con SP1 [solo aplicaciones de escritorio] |
servidor mínimo admitido | Windows Server 2003 [solo aplicaciones de escritorio] |
de la plataforma de destino de |
Windows |
encabezado de |
winbase.h (incluya Windows.h) |
biblioteca de |
Kernel32.lib |
DLL de |
Kernel32.dll |
Consulte también
de orden de búsqueda de la biblioteca de