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 tautan keras antara file yang ada dan file baru sebagai operasi yang ditransaksikan. Fungsi ini hanya didukung pada sistem file NTFS, dan hanya untuk file, bukan direktori.
Sintaksis
BOOL CreateHardLinkTransactedA(
[in] LPCSTR lpFileName,
[in] LPCSTR lpExistingFileName,
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
[in] HANDLE hTransaction
);
Parameter
[in] lpFileName
Nama file baru.
Parameter ini tidak dapat menentukan nama direktori.
[in] lpExistingFileName
Nama file yang ada.
Parameter ini tidak dapat menentukan nama direktori.
lpSecurityAttributes
Dipesan; harus null.
[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.
Jumlah maksimum tautan keras yang dapat dibuat dengan fungsi ini adalah 1023 per file. Jika lebih dari 1023 tautan dibuat untuk file, hasil kesalahan.
File harus berada di komputer lokal; jika tidak, fungsi gagal dan kode kesalahan terakhir diatur ke ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE.
Komentar
Setiap entri direktori untuk file yang dibuat dengan CreateFileTransacted atau CreateHardLinkTransacted adalah tautan keras ke file terkait. Tautan keras tambahan yang dibuat dengan fungsi
Karena tautan keras hanya entri direktori untuk file, ketika aplikasi memodifikasi file melalui tautan keras apa pun, semua aplikasi yang menggunakan tautan keras lainnya ke file melihat perubahan. Selain itu, semua entri direktori diperbarui jika file berubah. Misalnya, jika ukuran file berubah, semua tautan keras ke file menunjukkan ukuran file baru.
Deskriptor keamanan milik file tempat hard link menunjuk. Tautan itu sendiri hanya entri direktori, dan tidak memiliki pendeskripsi keamanan. Oleh karena itu, ketika Anda mengubah pendeskripsi keamanan tautan keras, Anda mengubah pendeskripsi keamanan file yang mendasar, dan semua tautan keras yang menunjuk ke file memungkinkan akses yang baru ditentukan. Anda tidak dapat memberikan deskriptor keamanan yang berbeda pada file berdasarkan per-hard-link.
Fungsi ini tidak mengubah pendeskripsi keamanan file yang akan ditautkan, bahkan jika informasi deskriptor keamanan diteruskan dalam parameter lpSecurityAttributes.
Gunakan DeleteFileTransacted untuk menghapus tautan keras. Anda dapat menghapusnya dalam urutan apa pun terlepas dari urutan pembuatannya.
Bendera, atribut, akses, dan berbagi yang ditentukan dalam CreateFileTransacted beroperasi per file. Artinya, jika Anda membuka file yang tidak mengizinkan berbagi, aplikasi lain tidak dapat berbagi file dengan membuat tautan keras baru ke file.
Saat Anda membuat tautan keras pada sistem file NTFS, informasi atribut file dalam entri direktori disegarkan hanya ketika file dibuka, atau ketika GetFileInformationByHandle dipanggil dengan handel file tertentu.
Tautan simbolis: Jika jalur menunjuk ke tautan simbolis, fungsi membuat tautan keras ke target.
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 |
Perhatikan bahwa SMB 3.0 tidak mendukung TxF.
Nota
Header winbase.h mendefinisikan CreateHardLinkTransacted sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosedur 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
Hard Link dan Persimpangan
Tautan Simbolis