Re: IoReadPartitionTableEx



actually perform the media reads themselves, then what is the point of them
sending IOCTLs? If on the other hand they are nothing but wrappers for
IOCTLs

No.

IoReadPartitionTable(Ex) is the function which really reads the partition table
sectors from the disk by handicrafted MJ_READ IRPs (and possibly some IOCTLs),
then parses the MBR or GPT on-disk data and fills the
DRIVE_LAYOUT_INFORMATION(_EX), which is the universal format of the partition
table data.

The reason for existence of this functions is to remove the MBR/GPT parsing
code from Disk.sys to the kernel (actually the HAL due to some very old reasons
of NT3 times).

--
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
maxim@xxxxxxxxxxxxxxxx
http://www.storagecraft.com

.



Relevant Pages

  • Re: sector and cylinder Information
    ... and disk IoCtls are handled. ... With VMWare you can create the boot & system partition ... need to test real hardware and I would use at least five hard drives with ...
    (microsoft.public.win32.programmer.kernel)
  • Re: Writing a correct MBRfrom User Mode
    ... Is it possible that the problem is simply that the partition doesn't ... If I perform an unconditionnal format, the MBR+BootSector is displaying "40" continuously. ... This problem did never happen when using the TextBased setup, yet it is not obvious that it ... If you insist on going there, look in the MSDN library for storage IOCTLs ...
    (microsoft.public.win32.programmer.kernel)
  • RE: How to add/drop SCSI drives from within the driver?
    ... >> realize they take a huge risk, but that is no reason to foul up the ... Aacraid uses a FIB to communicate a wide variety of RAID management ... The remaining ioctls pick up driver or OS internal information as has ... the multitude of array types and their configuration needs ...
    (Linux-Kernel)
  • Re: New IOCTLs
    ... accept any new IOCTLs anymore. ... Can somebody provide the reason behind the decision? ... I have some issues in using the sysfs interface. ...
    (Linux-Kernel)