FSCTL_ALLOW_EXTENDED_DASD_IO IOCTL (winioctl.h)
Menandakan driver sistem file tidak melakukan pemeriksaan batas I/O apa pun pada panggilan baca atau tulis partisi. Sebaliknya, pemeriksaan batas dilakukan oleh driver perangkat.
Untuk melakukan operasi ini, panggil fungsi
C++ |
---|
BOOL DeviceIoControl( (HANDLE) hDevice, // handle to device FSCTL_ALLOW_EXTENDED_DASD_IO, // dwIoControlCodeNULL, // lpInBuffer0, // nInBufferSizeNULL, // lpOutBuffer0, // nOutBufferSize(LPDWORD) lpBytesReturned, // number of bytes returned (LPOVERLAPPED) lpOverlapped // OVERLAPPED structure ); |
Komentar
Panggilan menggunakan kode kontrol FSCTL_ALLOW_EXTENDED_DASD_IO hanya boleh digunakan dengan sangat hati-hati oleh pemrogram yang terbiasa dengan struktur yang mendasar dari hard disk drive dan sistem file. Penggunaan yang tidak tepat atau pemeriksaan yang tidak akurat dalam operasi tulis berikutnya ke partisi dapat mengakibatkan kerusakan pada data pada partisi, atau penghancuran seluruh partisi.
Kode kontrol FSCTL_ALLOW_EXTENDED_DASD_IO digunakan untuk memberi sinyal kepada driver sistem file untuk tidak melakukan pemeriksaan batas I/O pada panggilan baca atau tulis yang dilakukan dengan handel yang ditentukan. FSCTL_ALLOW_EXTENDED_DASD_IO memungkinkan akses ke sektor tersembunyi, bagian dari partisi yang mungkin ada antara sektor pertama partisi (blok parameter boot) dan sektor partisi pertama yang berguna. FSCTL_ALLOW_EXTENDED_DASD_IO juga memungkinkan akses ke kluster yang hilang, yang mungkin ada antara kluster terakhir yang berguna dan akhir partisi.
Permintaan I/O yang dikeluarkan setelah operasi ini diteruskan langsung ke driver perangkat. Jika panggilan berikutnya ini meminta data di luar batas partisi, driver menyebabkan mereka gagal.
Untuk implikasi I/O yang tumpang tindih pada operasi ini, lihat bagian Keterangan DeviceIoControl.
Untuk mengambil handel ke partisi, panggil CreateFile dengan parameter lpFileName diatur ke string formulir berikut:
\\.\X:
di mana X adalah huruf drive.
Aplikasi yang memanggil
Untuk menentukan struktur partisi drive dan untuk menentukan apakah sistem mengenali partisi, gunakan kode kontrol IOCTL_DISK_GET_DRIVE_LAYOUT_EX atau IOCTL_DISK_GET_DRIVE_LAYOUT, yang sesuai. Untuk informasi serupa tentang satu partisi, gunakan kode kontrol IOCTL_DISK_GET_PARTITION_INFO_EX atau IOCTL_DISK_GET_PARTITION_INFO, yang sesuai. Untuk menentukan ukuran kluster, gunakan fungsi GetDiskFreeSpaceEx atau GetDiskFreeSpace, yang sesuai.
Di 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) | Ya |
Sistem File Tangguh (ReFS) | Ya |
Persyaratan
Syarat | 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
DeviceIoControl
Kode Kontrol Manajemen File
IOCTL_DISK_GET_DRIVE_LAYOUT_EX
IOCTL_DISK_GET_PARTITION_INFO_EX
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