FSCTL_SET_OBJECT_ID IOCTL (winioctl.h)
Mengatur 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, // 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.
Gunakan operasi ini untuk secara eksplisit mengatur pengidentifikasi objek ke nilai yang Anda berikan. Mencoba mengatur pengidentifikasi objek pada objek yang sudah memiliki pengidentifikasi objek akan gagal. Upaya untuk menggunakan pengidentifikasi objek yang sudah digunakan pada volume juga akan gagal. Gunakan operasi FSCTL_CREATE_OR_GET_OBJECT_ID agar sistem file NTFS menghasilkan pengidentifikasi objek jika objek belum memilikinya.
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) |