Fungsi SHSetFolderPathW (shlobj_core.h)
Dihentikan. Menetapkan jalur baru ke folder sistem yang diidentifikasi oleh CSIDL-nya.
Sintaks
HRESULT SHSetFolderPathW(
[in] int csidl,
[in] HANDLE hToken,
[in] DWORD dwFlags,
[in] LPCWSTR pszPath
);
Parameter
[in] csidl
Jenis: int
Nilai CSIDL yang mengidentifikasi folder yang jalurnya akan diatur. Hanya folder fisik yang valid. Jika folder virtual ditentukan, fungsi ini gagal.
Tambahkan nilai CSIDL_FLAG_DONT_UNEXPAND ke CSIDL untuk memastikan bahwa string ditulis ke registri persis seperti yang disediakan. Jika bendera CSIDL_FLAG_DONT_UNEXPAND tidak disertakan, bagian jalur dapat digantikan oleh string lingkungan, seperti %USERPROFILE%.
[in] hToken
Jenis: HANDEL
Token akses yang dapat digunakan untuk mewakili pengguna tertentu. Parameter ini biasanya diatur ke NULL, dalam hal ini fungsi mencoba mengakses instans folder pengguna saat ini. Namun, Anda mungkin perlu menetapkan nilai ke hToken untuk folder yang dapat memiliki beberapa pengguna tetapi diperlakukan sebagai milik satu pengguna. Folder yang paling umum digunakan dari jenis ini adalah Dokumen.
Aplikasi panggilan bertanggung jawab atas peniruan yang benar ketika hToken non-null. Ini harus memiliki hak istimewa keamanan yang sesuai untuk pengguna tertentu, termasuk TOKEN_QUERY dan TOKEN_IMPERSONATE, dan sarang registri pengguna saat ini harus dipasang. Lihat Access Control untuk diskusi lebih lanjut tentang masalah kontrol akses.
[in] dwFlags
Jenis: DWORD
Dicadangkan. Harus diatur ke 0.
[in] pszPath
Jenis: LPCTSTR
Penunjuk ke string panjang yang dihentikan null MAX_PATH yang berisi jalur baru folder. Nilai ini tidak boleh NULL, dan string tidak boleh memiliki panjang nol.
Mengembalikan nilai
Jenis: HRESULT
Mengembalikan kode HRESULT standar, termasuk yang berikut ini:
Menampilkan kode | Deskripsi |
---|---|
|
Jalur folder berhasil diperbarui. |
|
Beberapa kondisi kesalahan menyebabkan pengembalian nilai ini, termasuk yang berikut ini:
|
Keterangan
Disarankan agar jalur dinyatakan sebagai string Unicode karena nama folder mungkin berisi karakter Unicode yang tidak dapat diekspresikan di ANSI.
Catatan
Header shlobj_core.h mendefinisikan SHSetFolderPath sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor 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 XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | shlobj_core.h (termasuk Shlobj.h, Shlobj_core.h) |
Pustaka | Shell32.lib |
DLL | Shell32.dll (versi 5.0 atau yang lebih baru) |