Fungsi CreateDirectoryExW (winbase.h)
Membuat direktori baru dengan atribut direktori templat tertentu. Jika sistem file yang mendasar mendukung keamanan pada file dan direktori, fungsi menerapkan deskriptor keamanan tertentu ke direktori baru. Direktori baru mempertahankan atribut lain dari direktori templat yang ditentukan.
Untuk melakukan operasi ini sebagai operasi yang ditransaksikan, gunakan fungsi
BOOL CreateDirectoryExW(
[in] LPCWSTR lpTemplateDirectory,
[in] LPCWSTR lpNewDirectory,
[in, optional] LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
[in] lpTemplateDirectory
Jalur direktori yang akan digunakan sebagai templat saat membuat direktori baru.
Secara default, nama dibatasi untuk MAX_PATH karakter. Untuk memperpanjang batas ini menjadi 32.767 karakter lebar, tambahkan awal "\\?\" ke jalur. Untuk informasi selengkapnya, lihat Penamaan File, Jalur, dan Namespace.
Tip
Dimulai dengan Windows 10, Versi 1607, Anda dapat memilih untuk menghapus batasan MAX_PATH tanpa prepending "\\?\". Lihat bagian "Batasan Panjang Jalur Maksimum" Penamaan File, Jalur, dan Namespace untuk detailnya.
[in] lpNewDirectory
Jalur direktori yang akan dibuat.
Secara default, nama dibatasi untuk MAX_PATH karakter. Untuk memperpanjang batas ini menjadi 32.767 karakter lebar, tambahkan awal "\\?\" ke jalur. Untuk informasi selengkapnya, lihat Penamaan File, Jalur, dan Namespace.
Tip
Dimulai dengan Windows 10, Versi 1607, Anda dapat memilih untuk menghapus batasan MAX_PATH tanpa prepending "\\?\". Lihat bagian "Batasan Panjang Jalur Maksimum" Penamaan File, Jalur, dan Namespace untuk detailnya.
[in, optional] lpSecurityAttributes
Penunjuk ke struktur SECURITY_ATTRIBUTES. lpSecurityDescriptor anggota struktur menentukan deskriptor keamanan untuk direktori baru.
Jika lpSecurityAttributesNULL, direktori mendapatkan deskriptor keamanan default. Daftar kontrol akses (ACL) dalam deskriptor keamanan default untuk direktori diwarisi dari direktori induknya.
Sistem file target harus mendukung keamanan pada file dan direktori agar parameter ini berpengaruh. Ini ditunjukkan ketika GetVolumeInformation mengembalikan FS_PERSISTENT_ACLS.
Jika fungsi berhasil, nilai yang dikembalikan bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol (0). Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError. Kemungkinan kesalahan termasuk yang berikut ini.
Mengembalikan kode | Deskripsi |
---|---|
|
Direktori yang ditentukan sudah ada. |
|
Satu atau beberapa direktori perantara tidak ada. Fungsi ini hanya membuat direktori akhir di jalur . Untuk membuat semua direktori perantara di jalur, gunakan fungsi SHCreateDirectoryEx. |
Fungsi CreateDirectoryEx memungkinkan Anda membuat direktori yang mewarisi informasi aliran dari direktori lain. Fungsi ini berguna, misalnya, ketika Anda menggunakan direktori Macintosh, yang memiliki aliran sumber daya yang diperlukan untuk mengidentifikasi konten direktori dengan benar sebagai atribut.
Beberapa sistem file, seperti sistem file NTFS, mendukung kompresi atau enkripsi untuk file dan direktori individual. Pada volume yang diformat untuk sistem file tersebut, direktori baru mewarisi atribut kompresi dan enkripsi direktori induknya.
Anda dapat memperoleh handel ke direktori dengan memanggil fungsi
Untuk mendukung fungsi pewarisan yang meminta deskriptor keamanan objek ini dapat secara heuristik menentukan dan melaporkan bahwa pewarisan berlaku. Untuk informasi selengkapnya, lihat Penyebaran Otomatis ACE yang Dapat Diwariskan.
Di Windows 8 dan Windows Server 2012, fungsi ini didukung oleh teknologi berikut.
Teknologi | Didukung |
---|---|
Protokol Server Message Block (SMB) 3.0 | Ya |
Failover Transparan (TFO) SMB 3.0 | Ya |
SMB 3.0 dengan Scale-out File Shares (SO) | Ya |
Sistem File Volume Bersama Kluster (CsvFS) | Ya |
Sistem File Tangguh (ReFS) | Ya |
Catatan
Header winbase.h mendefinisikan CreateDirectoryEx sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosedur 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.
Syarat | Nilai |
---|---|
klien minimum yang didukung | Windows XP [hanya aplikasi desktop] |
server minimum yang didukung |
Windows Server 2003 [hanya aplikasi desktop] |
Platform Target |
Windows |
Header |
winbase.h (termasuk Windows.h) |
Pustaka |
Kernel32.lib |
DLL |
Kernel32.dll |
Membuat dan Menghapus Direktori