Condividi tramite


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.

Osservazioni

Questa funzione deve essere chiamata solo nelle istanze in cui il chiamante deve risolvere in modo esplicito un nome eseguibile relativo in 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 risoluzione del percorso, pertanto, questa funzione deve essere chiamata solo se si tenta di risolvere un percorso di ricerca per l'eseguibile specificato in base alla directory corrente.

Il valore della variabile di ambiente NoDefaultCurrentDirectoryInExePath determina il valore restituito da questa funzione. Tuttavia, è necessario chiamare questa funzione anziché controllare direttamente la variabile di ambiente, perché 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, viene verificata l'esistenza della variabile di ambiente NoDefaultCurrentDirectoryInExePath e non il relativo valore.

Un esempio di istanza quando questa funzione deve essere chiamata invece di 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 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 del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows Vista [solo app desktop]
server minimo supportato Windows Server 2003 [solo app desktop]
piattaforma di destinazione Finestre
intestazione processenv.h (include Windows.h in Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
libreria Kernel32.lib
dll Kernel32.dll

Vedere anche

CreateProcess

processi e funzioni thread