FSCTL_GET_NTFS_FILE_RECORD IOCTL (winioctl.h)
Mengambil rekaman file pertama yang sedang digunakan dan memiliki nilai ordinal yang kurang dari atau sama dengan nomor referensi file yang diminta.
Untuk melakukan operasi ini, panggil fungsi DeviceIoControl dengan parameter berikut.
BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to device
FSCTL_GET_NTFS_FILE_RECORD, // dwIoControlCode
(LPVOID) lpInBuffer, // input buffer
(DWORD) nInBufferSize, // size of input buffer
(LPVOID) lpOutBuffer, // output buffer
(DWORD) nOutBufferSize, // size of output buffer
(LPDWORD) lpBytesReturned, // number of bytes returned
(LPOVERLAPPED) lpOverlapped // OVERLAPPED structure
);
Keterangan
Kode kontrol ini menghitung pengidentifikasi file dengan cara menurun, dan selalu mengembalikan rekaman file yang sedang digunakan. Ini berarti bahwa pengidentifikasi file yang dikembalikan oleh kode kontrol ini mungkin tidak sama dengan pengidentifikasi file yang ditentukan dalam buffer input. Misalnya, jika pengidentifikasi file 1 sampai 9 dan 15 sedang digunakan, pengidentifikasi file 10 hingga 14 tidak digunakan, dan catatan file yang sesuai dengan pengidentifikasi file 15 diminta, rekaman file tersebut dikembalikan.
Jika catatan file yang sesuai dengan pengidentifikasi file 10 hingga 14 diminta, rekaman file yang sesuai dengan pengidentifikasi file 9 dikembalikan. Jika salah satu catatan file yang sesuai dengan pengidentifikasi file 1 hingga 9 diminta, rekaman file tersebut dikembalikan.
Untuk menentukan ukuran buffer output yang benar yang ditunjukkan oleh lpOutBuffer, pertama-tama panggil kode kontrol FSCTL_GET_NTFS_VOLUME_DATA untuk mendapatkan ukuran satu rekaman file. Ini adalah nilai anggota BytesPerFileRecordSegment dari struktur NTFS_VOLUME_DATA_BUFFER yang dikembalikan. Kemudian atur ukuran buffer output ke ekspresi berikut:
sizeof (NTFS_FILE_RECORD_OUTPUT_BUFFER) + sizeof (one file record) - 1
Jika file terdiri dari beberapa rekaman file, file harus diambil satu per satu.
Di Windows 8 dan Windows Server 2012, kode ini didukung oleh teknologi berikut.
Teknologi | Didukung |
---|---|
Protokol Server Message Block (SMB) 3.0 | Tidak |
SMB 3.0 Transparent Failover (TFO) | Tidak |
SMB 3.0 dengan Scale-out File Shares (SO) | Tidak |
Sistem File Volume Bersama Kluster (CsvFS) | Ya |
Sistem File Tangguh (ReFS) | Tidak |
Persyaratan
Persyaratan | Nilai |
---|---|
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