Fungsi SetCurrentDirectory (winbase.h)
Mengubah direktori saat ini untuk proses saat ini.
Sintaks
BOOL SetCurrentDirectory(
[in] LPCTSTR lpPathName
);
Parameter
[in] lpPathName
Jalur ke direktori baru saat ini. Parameter ini dapat menentukan jalur relatif atau jalur lengkap. Dalam kedua kasus, jalur lengkap direktori yang ditentukan dihitung dan disimpan sebagai direktori saat ini.
Untuk informasi selengkapnya, lihat Nama File, Jalur, dan Namespace.
Dalam versi ANSI dari fungsi ini, namanya terbatas pada MAX_PATH karakter.
Karakter akhir sebelum karakter null harus berupa garis miring terbalik ('\'). Jika Anda tidak menentukan garis miring terbalik, garis miring terbalik akan ditambahkan untuk Anda; oleh karena itu, tentukan MAX_PATH-2 karakter untuk jalur kecuali Anda menyertakan garis miring terbelakang berikutnya, dalam hal ini, tentukan karakter MAX_PATH-1 untuk jalur tersebut.
Mengembalikan nilai
Jika fungsi berhasil, nilai yang dikembalikan bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Keterangan
Setiap proses memiliki satu direktori saat ini yang terdiri dari dua bagian:
- Pendesain disk yang merupakan huruf kandar diikuti dengan titik dua, atau nama server dan nama berbagi (\\servername\sharename)
- Direktori pada pendesain disk
Direktori saat ini dibagikan oleh semua utas proses: Jika satu utas mengubah direktori saat ini, itu mempengaruhi semua utas dalam proses. Aplikasi multithreaded dan kode pustaka bersama harus menghindari panggilan fungsi SetCurrentDirectory karena risiko memengaruhi perhitungan jalur relatif yang dilakukan oleh utas lain. Sebaliknya, aplikasi multithread dan kode pustaka bersama harus menghindari penggunaan jalur relatif sehingga tidak terpengaruh oleh perubahan pada direktori saat ini yang dilakukan oleh utas lain.
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 |
Contoh
Misalnya, lihat Mengubah Direktori Saat Ini.
Persyaratan
Klien minimum yang didukung | Windows XP [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2003 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | winbase.h (termasuk Windows.h) |
Pustaka | Kernel32.lib |
DLL | Kernel32.dll |