Fungsi IoSetPartitionInformation (ntddk.h)

Rutinitas IoSetPartitionInformationusang dan hanya disediakan untuk mendukung driver yang ada. Driver baru harus menggunakan IoSetPartitionInformationEx.

IoSetPartitionInformation mengatur jenis partisi dan angka dalam entri tabel partisi untuk disk yang diwakili oleh DeviceObject.

Sintaks

NTSTATUS IoSetPartitionInformation(
  [in] PDEVICE_OBJECT DeviceObject,
  [in] ULONG          SectorSize,
  [in] ULONG          PartitionNumber,
  [in] ULONG          PartitionType
);

Parameter

[in] DeviceObject

Arahkan ke objek perangkat yang mewakili perangkat tempat jenis partisi akan diatur.

[in] SectorSize

Menentukan ukuran, dalam byte, sektor pada disk.

[in] PartitionNumber

Menentukan nomor partisi pada perangkat yang jenis partisinya akan diatur.

[in] PartitionType

Menentukan jenis untuk partisi. Untuk daftar beberapa jenis partisi kunci, lihat PARTITION_INFORMATION.

Nilai kembali

Jika IoSetPartitionInformation mengembalikan STATUS_SUCCESS, driver disk memperbarui gagasannya tentang jenis partisi untuk partisi ini dalam ekstensi perangkatnya.

Keterangan

IoSetPartitionInformation hanya boleh digunakan oleh driver disk. Driver lain harus menggunakan permintaan I/O disk IOCTL_DISK_SET_PARTITION_INFO sebagai gantinya.

Rutinitas ini dipanggil ketika driver perangkat disk diminta untuk mengatur jenis 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 IoSetPartitionInformation dikembangkan sebelum dukungan partisi dinamis diterapkan, mereka tidak membedakan antara partisi ordinal (yaitu urutan partisi pada disk) dan nomor partisi (nomor partisi yang ditetapkan ke partisi untuk mengidentifikasinya ke sistem). Driver harus memanggil IoSetPartitionInformation menggunakan nomor ordinal partisi dan bukan nomor partisi aktual.

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), IrqlIoPassive5(wdm), PowerIrpDDis(wdm)

Lihat juga

IoReadPartitionTable

IoSetPartitionInformationEx

IoWritePartitionTable