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)

Lihat juga

IoReadPartitionTable

IoSetPartitionInformation

IoWritePartitionTable

SET_PARTITION_INFORMATION

SET_PARTITION_INFORMATION_EX