Funzione NeedCurrentDirectoryForExePathA (processenv.h)
Determina se la directory corrente deve essere inclusa nel percorso di ricerca per l'eseguibile specificato.
Sintassi
BOOL NeedCurrentDirectoryForExePathA(
[in] LPCSTR ExeName
);
Parametri
[in] ExeName
Nome del file eseguibile.
Valore restituito
Se la directory corrente deve far parte del percorso di ricerca, il valore restituito è TRUE. In caso contrario, il valore restituito è FALSE.
Commenti
Questa funzione deve essere chiamata solo nelle istanze in cui il chiamante deve risolvere in modo esplicito un nome eseguibile relativo a un nome assoluto. Se CreateProcess viene chiamato con un nome eseguibile relativo, cercherà automaticamente l'eseguibile, chiamando questa funzione per determinare il percorso di ricerca.
La maggior parte delle funzioni di sistema esegue la propria risoluzione del percorso, pertanto, questa funzione deve essere chiamata solo se si tenta di risolvere un percorso di ricerca per il file eseguibile specificato in base alla directory corrente.
Il valore della variabile di ambiente NoDefaultCurrentDirectoryInExePath determina il valore restituito dalla funzione. Tuttavia, è consigliabile chiamare questa funzione anziché controllare direttamente la variabile di ambiente, poiché il percorso del Registro di sistema di questa variabile di ambiente può cambiare.
Se il valore del parametro ExeName contiene una barra rovesciata (\), questa funzione restituirà sempre TRUE. Se non contiene una barra rovesciata, l'esistenza della variabile di ambiente NoDefaultCurrentDirectoryInExePath viene selezionata e non il relativo valore.
Un esempio di istanza quando questa funzione deve essere chiamata anziché basarsi sull'algoritmo di risoluzione del percorso di ricerca predefinito in CreateProcess è l'eseguibile "cmd.exe". Chiama questa funzione per determinare il percorso di ricerca dei comandi perché esegue la propria risoluzione del percorso prima di chiamare CreateProcess. Se questa funzione restituisce TRUE, cmd.exe usa il percorso ".; %PATH%" per la ricerca eseguibile. Se restituisce FALSE, cmd.exe usa il percorso "%PATH%" per la ricerca.
Nota
L'intestazione processenv.h definisce NeedCurrentDirectoryForExePath come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | processenv.h (includere Windows.h in Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |