FSCTL_SET_OBJECT_ID_EXTENDED IOCTL (winioctl.h)
Memodifikasi data pengguna yang terkait dengan pengidentifikasi objek untuk file atau direktori yang ditentukan.
Untuk melakukan operasi ini, panggil fungsi DeviceIoControl dengan parameter berikut.
BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to device
FSCTL_SET_OBJECT_ID_EXTENDED, // dwIoControlCode
(LPVOID) lpInBuffer, // input buffer
(DWORD) nInBufferSize, // size of input buffer
NULL, // lpOutBuffer
0, // nOutBufferSize
(LPDWORD) lpBytesReturned, // number of bytes returned
(LPOVERLAPPED) lpOverlapped // OVERLAPPED structure
);
Keterangan
Pengidentifikasi objek digunakan untuk melacak file dan direktori. Mereka tidak terlihat oleh sebagian besar aplikasi dan tidak boleh dimodifikasi oleh aplikasi. Memodifikasi pengidentifikasi objek dapat mengakibatkan hilangnya data dari bagian file, hingga dan termasuk seluruh volume data.
Operasi ini mengatur data pengguna hanya di pengidentifikasi objek. Kemungkinan penggunaan adalah menyimpan stempel waktu untuk pembuatan pengidentifikasi objek atau nomor versi yang meningkat secara monoton. Anggota ObjectId dari struktur FILE_OBJECTID_BUFFER diabaikan. Tidak ada mekanisme untuk memodifikasi anggota ObjectId . Penggunaan umum kode kontrol FSCTL_SET_OBJECT_ID_EXTENDED adalah di mana aplikasi tidak menggunakan data pengguna yang dihasilkan oleh sistem file NTFS ketika sistem membuat pengidentifikasi objek.
Untuk mengatur pengidentifikasi objek pada objek yang belum memilikinya, gunakan kode kontrol FSCTL_SET_OBJECT_ID . Agar sistem file NTFS menghasilkan pengidentifikasi objek jika tidak ada, gunakan kode kontrol FSCTL_CREATE_OR_GET_OBJECT_ID .
Perhatikan bahwa stempel waktu mungkin tidak diperbarui dengan benar untuk file jarak jauh. Untuk memastikan hasil yang konsisten, gunakan I/O yang tidak dibuffer.
Di Windows 8 dan Windows Server 2012, kode 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 Berbagi File Peluasan Skala (SO) | Ya |
Sistem File Volume Bersama Kluster (CsvFS) | Ya |
Sistem File Tangguh (ReFS) | Tidak |
Persyaratan
Klien minimum yang didukung | Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Header | winioctl.h (termasuk Windows.h) |
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