FSCTL_ALLOW_EXTENDED_DASD_IO IOCTL (winioctl.h)

Memberi sinyal driver sistem file untuk tidak melakukan pemeriksaan batas I/O pada panggilan baca atau tulis partisi. Sebaliknya, pemeriksaan batas dilakukan oleh driver perangkat.

Untuk melakukan operasi ini, panggil fungsi DeviceIoControl dengan parameter berikut.

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
);

Keterangan

Panggilan menggunakan kode kontrol FSCTL_ALLOW_EXTENDED_DASD_IO hanya boleh digunakan dengan sangat hati-hati oleh programmer 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 meminta data di luar batas partisi, driver menyebabkannya 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 yang diatur ke string formulir berikut:

\.\X:

di mana X adalah huruf kandar.

Aplikasi yang memanggil CreateFile juga harus menentukan bendera FILE_SHARE_READ dan FILE_SHARE_WRITE dalam parameter dwShareModecreateFile. Untuk informasi selengkapnya, lihat bagian Perangkat Disk di CreateFile.

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
SMB 3.0 Transparent Failover (TFO) Tidak
SMB 3.0 dengan Berbagi File Peluasan Skala (SO) Tidak
Sistem File Volume Bersama Kluster (CsvFS) Ya
Sistem File Tangguh (ReFS) Ya

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

CreateFile

DeviceIoControl

Kode Kontrol Manajemen File

GetDiskFreeSpace

GetDiskFreeSpaceEx

IOCTL_DISK_GET_DRIVE_LAYOUT

IOCTL_DISK_GET_DRIVE_LAYOUT_EX

IOCTL_DISK_GET_PARTITION_INFO

IOCTL_DISK_GET_PARTITION_INFO_EX

TUMPANG TINDIH