Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Menentukan sekumpulan direktori default untuk dicari saat proses panggilan memuat DLL. Jalur pencarian ini digunakan ketika LoadLibraryEx dipanggil tanpa bendera LOAD_LIBRARY_SEARCH .
Syntax
BOOL SetDefaultDllDirectories(
[in] DWORD DirectoryFlags
);
Parameter-parameternya
[in] DirectoryFlags
Direktori yang akan dicari. Parameter ini dapat berupa kombinasi apa pun dari nilai berikut.
| Nilai | Meaning |
|---|---|
|
Jika nilai ini digunakan, direktori penginstalan aplikasi akan dicari. |
|
Nilai ini adalah kombinasi LOAD_LIBRARY_SEARCH_APPLICATION_DIR, LOAD_LIBRARY_SEARCH_SYSTEM32, dan LOAD_LIBRARY_SEARCH_USER_DIRS.
Nilai ini menunjukkan jumlah maksimum direktori yang direkomendasikan yang harus disertakan aplikasi dalam jalur pencarian DLL-nya. |
|
Jika nilai ini digunakan, %windows%\system32 akan dicari. |
|
Jika nilai ini digunakan, jalur apa pun yang secara eksplisit ditambahkan menggunakan fungsi AddDllDirectory atau SetDllDirectory dicari. Jika lebih dari satu direktori telah ditambahkan, urutan di mana direktori tersebut dicari tidak ditentukan. |
Mengembalikan nilai
Jika fungsi berhasil, nilai yang dikembalikan bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError.
Komentar
Jalur pencarian DLL adalah kumpulan direktori yang dicari untuk DLL ketika jalur lengkap tidak ditentukan dalam panggilan fungsi LoadLibrary atau LoadLibraryEx , atau ketika jalur lengkap ke DLL ditentukan tetapi sistem harus mencari DLL dependen. Untuk informasi selengkapnya tentang jalur pencarian DLL standar, lihat Urutan Pencarian PustakaDynamic-Link.
Jalur pencarian DLL standar berisi direktori yang dapat rentan terhadap serangan pra-pemuatan DLL. Aplikasi dapat menggunakan fungsi SetDefaultDllDirectories untuk menentukan jalur pencarian DLL default untuk proses yang menghilangkan direktori yang paling rentan dan membatasi direktori lain yang dicari. Jalur pencarian DLL proses hanya berlaku untuk proses panggilan dan bertahan selama masa proses.
Jika parameter DirectoryFlags menentukan lebih dari satu bendera, direktori akan dicari dalam urutan berikut:
- Direktori yang berisi DLL (LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR). Direktori ini hanya dicari untuk dependensi DLL yang dimuat.
- Direktori aplikasi (LOAD_LIBRARY_SEARCH_APPLICATION_DIR).
- Jalur secara eksplisit ditambahkan ke jalur pencarian aplikasi dengan fungsi AddDllDirectory (LOAD_LIBRARY_SEARCH_USER_DIRS) atau fungsi SetDllDirectory . Jika lebih dari satu jalur telah ditambahkan, urutan di mana jalur dicari tidak ditentukan.
- Direktori Sistem (LOAD_LIBRARY_SEARCH_SYSTEM32).
Tidak dimungkinkan untuk kembali ke jalur pencarian DLL standar atau menghapus direktori apa pun yang ditentukan dengan SetDefaultDllDirectories dari jalur pencarian. Namun, jalur pencarian DLL proses dapat diganti dengan memanggil LoadLibraryEx dengan satu atau beberapa bendera LOAD_LIBRARY_SEARCH , dan direktori yang ditambahkan dengan AddDllDirectory dapat dihapus dengan memanggil RemoveDllDirectory.
Windows 7, Windows Server 2008 R2, Windows Vista, dan Windows Server 2008: Untuk memanggil fungsi ini dalam aplikasi, gunakan fungsi GetProcAddress untuk mengambil alamatnya dari Kernel32.dll. KB2533623 harus diinstal pada platform target.
Persyaratan
| Persyaratan | Nilai |
|---|---|
| Klien minimum yang didukung | Windows 8 [hanya aplikasi desktop],KB2533623 pada Windows 7, Windows Server 2008 R2, Windows Vista, dan Windows Server 2008 |
| Server minimum yang didukung | Windows Server 2012 [hanya aplikasi desktop] |
| Platform Target | Windows |
| Header | libloaderapi.h (termasuk Windows.h) |
| Library | kernel32. Lib |
| DLL | Kernel32.dll |
Lihat juga
Urutan Pencarian PustakaDynamic-Link