Fungsi IoSetPartitionInformationEx (ntddk.h)
Untuk disk yang diwakili oleh DeviceObject, rutinitas IoSetPartitionInformationEx menginisialisasi entri tabel partisi dengan informasi yang ditentukan dalam struktur SET_PARTITION_INFORMATION_EX .
Sintaks
NTSTATUS IoSetPartitionInformationEx(
[in] PDEVICE_OBJECT DeviceObject,
[in] ULONG PartitionNumber,
[in] _SET_PARTITION_INFORMATION_EX *PartitionInfo
);
Parameter
[in] DeviceObject
Arahkan ke objek perangkat yang mewakili perangkat tempat jenis partisi akan diatur.
[in] PartitionNumber
Menentukan nomor partisi pada perangkat yang jenis partisinya akan diatur.
[in] PartitionInfo
Struktur yang anggota PartitionType-nya menentukan jenis untuk partisi. Untuk nilai PartitionType yang saat ini ditentukan PARTITION_INFORMATION.
Nilai kembali
Jika IoSetPartitionInformationEx mengembalikan STATUS_SUCCESS, driver disk memperbarui gagasannya tentang jenis partisi untuk partisi ini dalam ekstensi perangkatnya.
Keterangan
IoSetPartitionInformationEx hanya boleh digunakan oleh driver disk. Driver lain harus menggunakan permintaan I/O disk IOCTL_DISK_SET_PARTITION_INFO_EX sebagai gantinya.
Rutinitas ini dipanggil ketika driver perangkat disk diminta untuk mengatur informasi partisi dalam entri tabel partisi oleh permintaan IRP_MJ_DEVICE_CONTROL. Permintaan ini umumnya dikeluarkan oleh utilitas format, yang melakukan fungsi kontrol I/O pada partisi. Driver meneruskan penunjuk ke objek perangkat yang mewakili disk fisik dan jumlah partisi yang terkait dengan objek perangkat yang telah dibuka utilitas format. Karena rutinitas HAL yang mendasar IoSetPartitionInformationEx dikembangkan sebelum dukungan untuk partisi dinamis diterapkan, mereka tidak membedakan antara partisiordinal (yaitu urutan partisi pada disk) dan nomor partisi (nomor partisi yang ditetapkan ke partisi untuk mengidentifikasinya ke sistem). Driver harus memanggil IoSetPartitionInformationEx menggunakan nomor ordinal partisi dan bukan nomor partisi aktual.
Jika partisi adalah partisi jenis Master Boot Record (MBR), IoSetPartitionInformationEx terbatas untuk mengatur gaya partisi, dan gaya partisi, yang direpresentasikan sebagai karakter yang tidak ditandatangani. Lihat SET_PARTITION_INFORMATION_MBR untuk informasi lebih lanjut tentang nilai-nilai ini.
Jika partisi adalah partisi GUID Partition Table (GPT), IoSetPartitionInformationEx menetapkan nilai berikut: gaya partisi, jenis partisi, yang diwakili oleh GUID alih-alih bilangan bulat seperti halnya dengan partisi MBR; ID partisi, juga diwakili oleh GUID; sekumpulan atribut (lihat Extensible Firmware Interface untuk deskripsi atribut ini); dan nama Unicode untuk partisi. Lihat SET_PARTITION_INFORMATION_GPT untuk informasi lebih lanjut tentang nilai-nilai ini.
Rutinitas ini sinkron dan 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 jenis partisi untuk perangkat.
Rutinitas ini beroperasi dengan asumsi bahwa nomor partisi yang diteruskan oleh driver disk benar-benar ada.
Rutinitas ini harus dipanggil di IRQL = PASSIVE_LEVEL karena menggunakan objek peristiwa kernel untuk menyinkronkan penyelesaian I/O pada perangkat. Peristiwa tidak dapat diatur ke status Sinyal tanpa mengantre dan menjalankan rutinitas APC kernel khusus sistem I/O untuk penyelesaian I/O.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Header | ntddk.h (termasuk Ntddk.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (Lihat bagian Keterangan) |
Aturan kepatuhan DDI | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |