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)

Lihat juga

IoCreateDevice

IoReadPartitionTableEx

IoSetPartitionInformationEx