Bagikan melalui


Fungsi NeedCurrentDirectoryForExePathA (processenv.h)

Menentukan apakah direktori saat ini harus disertakan dalam jalur pencarian untuk executable yang ditentukan.

Sintaks

BOOL NeedCurrentDirectoryForExePathA(
  [in] LPCSTR ExeName
);

Parameter

[in] ExeName

Nama file yang dapat dieksekusi.

Mengembalikan nilai

Jika direktori saat ini harus menjadi bagian dari jalur pencarian, nilai yang dikembalikan adalah TRUE. Jika tidak, nilai yang dikembalikan adalah FALSE.

Keterangan

Fungsi ini hanya boleh dipanggil dalam kasus di mana pemanggil harus secara eksplisit menyelesaikan nama relatif yang dapat dieksekusi ke nama absolut. Jika CreateProcess dipanggil dengan nama relatif yang dapat dieksekusi, createProcess akan secara otomatis mencari executable, memanggil fungsi ini untuk menentukan jalur pencarian.

Sebagian besar fungsi sistem melakukan resolusi jalur mereka sendiri, oleh karena itu, fungsi ini hanya boleh dipanggil jika Anda mencoba menyelesaikan jalur pencarian untuk executable yang ditentukan berdasarkan direktori saat ini.

Nilai variabel lingkungan NoDefaultCurrentDirectoryInExePath menentukan nilai yang dikembalikan fungsi ini. Namun, Anda harus memanggil fungsi ini daripada memeriksa variabel lingkungan secara langsung, karena lokasi registri variabel lingkungan ini dapat berubah.

Jika nilai parameter ExeName berisi backslash (\), fungsi ini akan selalu mengembalikan TRUE. Jika tidak berisi garis miring terbalik, keberadaan variabel lingkungan NoDefaultCurrentDirectoryInExePath diperiksa, dan bukan nilainya.

Contoh instans ketika fungsi ini harus dipanggil alih-alih mengandalkan algoritma resolusi jalur pencarian default di CreateProcess adalah "cmd.exe" yang dapat dieksekusi. Ini memanggil fungsi ini untuk menentukan jalur pencarian perintah karena melakukan resolusi jalurnya sendiri sebelum memanggil CreateProcess. Jika fungsi ini mengembalikan TRUE, cmd.exe menggunakan jalur ".; %PATH%" untuk pencarian yang dapat dieksekusi. Jika mengembalikan FALSE, cmd.exe menggunakan jalur "%PATH%" untuk pencarian.

Catatan

Header processenv.h mendefinisikan NeedCurrentDirectoryForExePath sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header processenv.h (termasuk Windows.h pada Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Pustaka Kernel32.lib
DLL Kernel32.dll

Lihat juga

CreateProcess

Fungsi Proses dan Utas