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.
[Microsoft sangat merekomendasikan pengembang menggunakan sarana alternatif untuk mencapai kebutuhan aplikasi Anda. Banyak skenario yang dikembangkan TxF dapat dicapai melalui teknik yang lebih sederhana dan lebih tersedia. Selain itu, TxF mungkin tidak tersedia di versi Microsoft Windows yang akan datang. Untuk informasi lebih lanjut, dan alternatif TxF, silakan lihat Alternatif untuk menggunakanNTFS Transaksi.]
Membuat direktori baru sebagai operasi yang ditransaksikan, 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.
Sintaksis
BOOL CreateDirectoryTransactedW(
[in, optional] LPCWSTR lpTemplateDirectory,
[in] LPCWSTR lpNewDirectory,
[in, optional] LPSECURITY_ATTRIBUTES lpSecurityAttributes,
[in] HANDLE hTransaction
);
Parameter
[in, optional] lpTemplateDirectory
Jalur direktori yang akan digunakan sebagai templat saat membuat direktori baru. Parameter ini dapat NULL..
Direktori harus berada di komputer lokal; jika tidak, fungsi gagal dan kode kesalahan terakhir diatur ke ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE.
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.
Ujung
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.
Ujung
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.
[in] hTransaction
Handel ke transaksi. Handel ini dikembalikan oleh fungsi
Mengembalikan nilai
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. |
|
Anda tidak dapat membuat direktori turunan dengan direktori induk yang enkripsinya dinonaktifkan. |
|
Satu atau beberapa direktori perantara tidak ada. Fungsi ini hanya membuat direktori akhir di jalur . |
Komentar
Fungsi
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.
Fungsi ini gagal dengan ERROR_EFS_NOT_ALLOWED_IN_TRANSACTION jika Anda mencoba membuat direktori turunan dengan direktori induk yang menonaktifkan enkripsi.
Anda dapat memperoleh handel ke direktori dengan memanggil fungsi
Di Windows 8 dan Windows Server 2012, fungsi ini didukung oleh teknologi berikut.
Teknologi | Didukung |
---|---|
Protokol Server Message Block (SMB) 3.0 | Tidak |
Failover Transparan (TFO) SMB 3.0 | Tidak |
SMB 3.0 dengan Scale-out File Shares (SO) | Tidak |
Sistem File Volume Bersama Kluster (CsvFS) | Tidak |
Sistem File Tangguh (ReFS) | Tidak |
SMB 3.0 tidak mendukung TxF.
Nota
Header winbase.h mendefinisikan CreateDirectoryTransacted 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.
Persyaratan
Syarat | Nilai |
---|---|
klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
server minimum yang didukung |
Windows Server 2008 [hanya aplikasi desktop] |
Platform Target |
Windows |
Header |
winbase.h (termasuk Windows.h) |
Pustaka |
Kernel32.lib |
DLL |
Kernel32.dll |
Lihat juga
Membuat dan Menghapus Direktori