Fungsi IoWritePartitionTableEx (ntddk.h)
IoWritePartitionTableEx rutin menulis tabel partisi dari entri dalam buffer daftar partisi untuk setiap partisi pada disk yang diwakili oleh objek perangkat tertentu.
Sintaks
NTSTATUS IoWritePartitionTableEx(
[in] PDEVICE_OBJECT DeviceObject,
_DRIVE_LAYOUT_INFORMATION_EX *DriveLayout
);
Parameter
[in] DeviceObject
Penunjuk ke objek perangkat yang mewakili disk yang tabel partisinya akan ditulis.
DriveLayout
Penunjuk ke buffer tata letak drive yang berisi entri daftar partisi. Untuk informasi selengkapnya, lihat DRIVE_LAYOUT_INFORMATION_EX.
Nilai kembali
IoWritePartitionTableEx mengembalikan kode status STATUS_SUCCESS jika semua penulisan selesai tanpa kesalahan. Jika terjadi kegagalan, kode kesalahan yang dikembalikan oleh IoWritePartitionTableEx mungkin termasuk, tetapi tidak terbatas pada, daftar berikut:
Menampilkan kode | Deskripsi |
---|---|
STATUS_DEVICE_NOT_READY | Menunjukkan kegagalan membaca geometri disk yang benar. |
STATUS_INSUFFICIENT_RESOURCES | Menunjukkan kegagalan untuk mengalokasikan sumber daya yang diperlukan (misalnya, memori heap, IRP, dan sebagainya). |
STATUS_UNSUCCESSFUL | Menunjukkan bahwa sektor nol tidak memiliki tanda tangan disk MBR yang diharapkan. |
Keterangan
IoWritePartitionTableEx menggantikan IoWritePartitionTable rutin yang kedaluwarsa. Tidak seperti rutinitas yang lebih lama, ini dapat menulis ke Tabel Partisi GUID serta Tabel Partisi Catatan Boot Master.
IoWritePartitionTableEx hanya boleh digunakan oleh driver disk. Driver lain harus menggunakan permintaan I/O disk IOCTL_DISK_SET_DRIVE_LAYOUT_EX sebagai gantinya.
Ketika driver perangkat disk menerima permintaan IRP_MJ_DEVICE_CONTROL untuk mengatur jenis partisi dalam entri tabel partisi, atau untuk mempartisi ulang disk, itu harus memanggil IoWritePartitionTableEx. Permintaan kontrol perangkat umumnya dikeluarkan oleh utilitas format, yang melakukan fungsi kontrol I/O pada partisi dan disk di komputer.
Untuk mengatur ulang jenis partisi, driver meneruskan penunjuk ke objek perangkat, mewakili disk fisik, dan jumlah partisi yang terkait dengan objek perangkat yang telah dibuka utilitas format. Ketika disk akan dipartisi ulang secara dinamis, driver disk harus merobek kumpulan objek perangkat yang mewakili partisi disk saat ini dan membuat sekumpulan objek perangkat baru yang mewakili partisi baru pada disk.
Untuk tidak membuat atau menghapus partisi, deskripsi lengkap sistem harus diperoleh dengan panggilan ke IoReadPartitionTableEx. Struktur tata letak drive dapat dimodifikasi oleh utilitas format sistem untuk mencerminkan konfigurasi baru disk.
IoWritePartitionTableEx sinkron. Ini harus dipanggil oleh rutinitas Pengiriman driver disk atau oleh utas driver. Dengan demikian, semua utas sistem pengguna dan file harus siap untuk memasuki status tunggu saat mengeluarkan permintaan kontrol perangkat untuk mengatur ulang jenis partisi untuk perangkat.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Header | ntddk.h (termasuk Ntddk.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Aturan kepatuhan DDI | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |