Compartir a través de


Función NeedCurrentDirectoryForExePathA (processenv.h)

Determina si el directorio actual debe incluirse en la ruta de búsqueda del archivo ejecutable especificado.

Sintaxis

BOOL NeedCurrentDirectoryForExePathA(
  [in] LPCSTR ExeName
);

Parámetros

[in] ExeName

Nombre del archivo ejecutable.

Valor devuelto

Si el directorio actual debe formar parte de la ruta de búsqueda, el valor devuelto es TRUE. De lo contrario, el valor devuelto es FALSE.

Observaciones

Esta función solo debe llamarse en instancias en las que el autor de la llamada debe resolver explícitamente un nombre ejecutable relativo a un nombre absoluto. Si se llama a CreateProcess con un nombre ejecutable relativo, buscará automáticamente el archivo ejecutable y llamará a esta función para determinar la ruta de acceso de búsqueda.

La mayoría de las funciones del sistema realizan su propia resolución de ruta de acceso, por lo tanto, esta función solo debe llamarse si intenta resolver una ruta de búsqueda para el archivo ejecutable especificado basado en el directorio actual.

El valor de la variable de entorno NoDefaultCurrentDirectoryInExePath determina el valor que devuelve esta función. Sin embargo, debe llamar a esta función en lugar de comprobar directamente la variable de entorno, ya que la ubicación del Registro de esta variable de entorno puede cambiar.

Si el valor del parámetro ExeName contiene una barra diagonal inversa (\), esta función siempre devolverá TRUE. Si no contiene una barra diagonal inversa, se comprueba la existencia de la variable de entorno NoDefaultCurrentDirectoryInExePath y no su valor.

Un ejemplo de una instancia de cuando se debe llamar a esta función en lugar de confiar en el algoritmo de resolución de ruta de búsqueda predeterminado en CreateProcess es el ejecutable "cmd.exe". Llama a esta función para determinar la ruta de acceso de búsqueda de comandos porque realiza su propia resolución de ruta de acceso antes de llamar a CreateProcess. Si esta función devuelve TRUE, cmd.exe usa la ruta de acceso ".;%PATH%" para la búsqueda ejecutable. Si devuelve FALSE, cmd.exe usa la ruta de acceso "%PATH%" para la búsqueda.

Nota

El encabezado processenv.h define NeedCurrentDirectoryForExePath 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 [solo aplicaciones de escritorio]
servidor mínimo admitido Windows Server 2003 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de processenv.h (incluya Windows.h en Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
biblioteca de Kernel32.lib
DLL de Kernel32.dll

Consulte también

CreateProcess

funciones de proceso y subproceso de