Fungsi SetSearchPathMode (winbase.h)

Mengatur mode per proses yang digunakan fungsi SearchPath saat menemukan file.

Sintaks

BOOL SetSearchPathMode(
  [in] DWORD Flags
);

Parameter

[in] Flags

Mode pencarian yang akan digunakan.

Nilai Makna
BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE
0x00000001
Aktifkan mode pencarian proses aman untuk proses tersebut.
BASE_SEARCH_PATH_DISABLE_SAFE_SEARCHMODE
0x00010000
Nonaktifkan mode pencarian proses aman untuk proses tersebut.
BASE_SEARCH_PATH_PERMANENT
0x00008000
Bendera opsional untuk digunakan dalam kombinasi dengan BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE untuk membuat mode ini permanen untuk proses ini. Ini dilakukan dengan operasi OR bitwise:

(BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE | BASE_SEARCH_PATH_PERMANENT)

Bendera ini tidak dapat digabungkan dengan bendera BASE_SEARCH_PATH_DISABLE_SAFE_SEARCHMODE .

Mengembalikan nilai

Jika operasi berhasil diselesaikan, fungsi SetSearchPathMode mengembalikan nilai bukan nol.

Jika operasi gagal, fungsi SetSearchPathMode mengembalikan nol. Untuk mendapatkan informasi kesalahan yang diperluas, panggil fungsi GetLastError .

Jika fungsi SetSearchPathMode gagal karena nilai parameter tidak valid, nilai yang dikembalikan oleh fungsi GetLastError akan ERROR_INVALID_PARAMETER.

Jika fungsi SetSearchPathMode gagal karena kombinasi status saat ini dan nilai parameter tidak valid, nilai yang dikembalikan oleh fungsi GetLastError akan ERROR_ACCESS_DENIED. Untuk informasi selengkapnya, lihat bagian Keterangan.

Keterangan

Jika fungsi SetSearchPathMode belum berhasil dipanggil untuk proses saat ini, mode pencarian yang digunakan oleh fungsi SearchPath diperoleh dari registri sistem. Untuk informasi selengkapnya, lihat SearchPath.

Setelah fungsi SetSearchPathMode berhasil dipanggil untuk proses saat ini, pengaturan dalam registri sistem diabaikan demi mode yang baru-baru ini berhasil diatur.

Jika fungsi SetSearchPathMode telah berhasil dipanggil untuk proses saat ini dengan Bendera diatur ke (BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE | BASE_SEARCH_PATH_PERMANENT), mode aman diatur secara permanen untuk proses panggilan. Setiap panggilan berikutnya ke fungsi SetSearchPathMode dari dalam proses tersebut yang mencoba mengubah mode pencarian akan gagal dengan ERROR_ACCESS_DENIED dari fungsi GetLastError .

Catatan Karena mengatur mode pencarian aman secara permanen tidak dapat dinonaktifkan untuk masa pakai proses yang telah ditetapkan, mode tersebut harus digunakan dengan pertimbangan yang cermat. Ini terutama berlaku untuk pengembangan DLL, di mana pengguna DLL akan terpengaruh oleh pengaturan di seluruh proses ini.
 
Tidak dimungkinkan untuk menonaktifkan mode pencarian aman secara permanen.

Fungsi ini tidak mengubah registri sistem.

Di Windows 8 dan Windows Server 2012, fungsi ini didukung oleh teknologi berikut.

Teknologi Didukung
Protokol Server Message Block (SMB) 3.0 Ya
SMB 3.0 Transparent Failover (TFO) Ya
SMB 3.0 dengan Scale-out File Shares (SO) Ya
Sistem File Volume Bersama Kluster (CsvFS) Ya
Sistem File Tangguh (ReFS) Ya

Persyaratan

   
Klien minimum yang didukung Windows 7 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 R2 [hanya aplikasi desktop]
Target Platform Windows
Header winbase.h (termasuk Windows.h)
Pustaka Kernel32.lib
DLL Kernel32.dll
Redistribusi KB959426 pada Windows XP dengan SP2 dan yang lebih baru dan Windows Server 2003 dengan SP1 dan yang lebih baru

Lihat juga

Fungsi Manajemen File

SearchPath