Metode IBackgroundCopyJob3::SetFileACLFlags (bits2_0.h)
Menentukan informasi pemilik dan ACL untuk dipertahankan saat menggunakan SMB untuk mengunduh atau mengunggah file.
Sintaks
HRESULT SetFileACLFlags(
[in] DWORD Flags
);
Parameter
[in] Flags
Bendera yang mengidentifikasi informasi pemilik dan ACL untuk dipertahankan saat mentransfer file menggunakan SMB. Panggilan berikutnya ke metode ini menimpa bendera sebelumnya. Tentukan 0 untuk menghapus bendera dari pekerjaan. Anda dapat menentukan kombinasi bendera berikut.
Nilai | Makna |
---|---|
|
Jika diatur, informasi pemilik file dipertahankan. Jika tidak, pengguna yang memanggil metode Lengkap memiliki file .
Anda harus memiliki SeRestorePrivilege untuk mengatur bendera ini. Grup administrator berisi hak istimewa SeRestorePrivilege. |
|
Jika diatur, informasi grup file dipertahankan. Jika tidak, BITS menggunakan grup utama pemilik pekerjaan untuk menetapkan informasi grup ke file.
Anda harus memiliki SeRestorePrivilege untuk mengatur bendera ini. Grup administrator berisi hak istimewa SeRestorePrivilege. |
|
Jika diatur, BITS menyalin ACE eksplisit dari file sumber dan ACE yang dapat diwariskan dari folder tujuan. Jika tidak, BITS menyalin ACE yang dapat diwariskan dari folder tujuan. Jika folder tujuan tidak berisi ACE yang dapat diwariskan, BITS menggunakan DACL default dari akun pemilik. |
|
Jika diatur, BITS menyalin ACE eksplisit dari file sumber dan ACE yang dapat diwariskan dari folder tujuan.
Jika tidak, BITS menyalin ACE yang dapat diwariskan dari folder tujuan.
Anda harus memiliki SeSecurityPrivilege pada komputer lokal dan jarak jauh untuk mengatur bendera ini. Grup administrator berisi hak istimewa SeSecurityPrivilege. |
|
Jika diatur, BITS menyalin informasi pemilik dan ACL. Ini sama dengan mengatur semua bendera satu per satu. |
Nilai kembali
Metode ini mengembalikan nilai HRESULT berikut, serta yang lain.
Menampilkan kode | Deskripsi |
---|---|
|
Berhasil mengatur bendera. |
|
Anda harus memanggil metode ini sebelum pekerjaan beralih ke status BG_JOB_STATE_TRANSFERRED . |
|
Parameter Bendera berisi bendera yang tidak ada dalam daftar. |
Keterangan
Bendera ini berlaku untuk nama file jarak jauh yang menentukan protokol SMB. BITS mengabaikan bendera untuk transfer HTTP.
BITS menyebarkan stempel waktu file dan atribut (bukan atribut yang diperluas) untuk file SMB.
BITS menerapkan informasi pemilik dan ACL ke file pada saat transfer file selesai, bukan ketika membuat file transfer sementara. BITS tidak menentukan deskriptor keamanan saat membuat file transfer sementara (file mewarisi informasi ACL dari direktori tujuan). Jika data yang ditransfer sensitif, aplikasi harus menentukan ACL yang sesuai pada direktori tujuan untuk mencegah akses yang tidak sah.
Untuk memastikan pemilik dan informasi ACL yang tepat diatur pada semua file dalam pekerjaan, panggil metode ini setelah Anda membuat pekerjaan dan sebelum memanggil metode IBackgroundCopyJob::Resume . Jika tidak, file yang ditransfer sebelum bendera ditetapkan tidak akan berisi informasi pemilik dan ACL yang sesuai.
Metode ini dimodelkan setelah perintah XCopy DOS.
Informasi pemilik dan ACL tidak dipertahankan jika Anda mengunduh ke sistem file FAT.
Jika pengguna tidak memiliki hak istimewa di komputer lokal dan jarak jauh untuk menyalin informasi pemilik atau ACL, BITS menempatkan pekerjaan dalam status kesalahan sementara dan mengatur kode kesalahan ke E_ACCESSDENIED.
Contoh
Contoh berikut menunjukkan cara memanggil metode SetFileACLFlags untuk menentukan pemilik dan informasi ACL apa yang harus dipertahankan dengan file yang diunduh BITS. Contoh mengasumsikan variabel IBackgroundCopyJob , pJob, valid, menunjuk ke pekerjaan baru, dan ditangguhkan.
IBackgroundCopyJob *pJob;
IBackgroundCopyJob3 *pJob3 = NULL;
//Need to query the IBackgroundCopyJob interface for an IBackgroundCopyJob3
//interface pointer. The IBackgroundCopyJob3 interface contains the SetACLFlags method.
hr = pJob->QueryInterface(__uuidof( IBackgroundCopyJob3 ), (void**)&pJob3;);
if (S_OK == hr)
{
pJob->Release(); //No longer need the IBackgoundCopyJob interface pointer.
//Copy the group and DACL information for each file.
hr = pJob3->SetACLFlags(BG_COPY_FILE_GROUP | BG_COPY_FILE_DACL);
if (FAILED(hr))
{
//Handle error.
}
... //Add one or more files and resume the job.
pJob3->Resume();
//When done, release the interface pointer.
pJob3->Release();
}
else
{
//Handle error. QueryInterface will return E_NOINTERFACE if the version of BITS
//running on the computer is less than BITS 2.0.
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista, Windows XP dengan SP2,KB842773 di Windows Server 2003, dan Windows XP |
Server minimum yang didukung | Windows Server 2008, Windows Server 2003 dengan SP1 |
Target Platform | Windows |
Header | bits2_0.h (termasuk Bits.h) |
Pustaka | Bits.lib |
DLL | BitsPrx3.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk