IoGetBootDiskInformation

Hi all,

in my Disk/Volume UpperFilter I have a problem with
IoGetBootDiskInformation.
It is supposed to fill a caller allocated structure with the signatures of
boot & system
disks and the offsets of boot & system volume.

  1. It never works with the first call => I call it at various places
    (Entry and AddDevice for Volumes),
    until the structure is finally completely filled.
  2. If boot & system volume are the same (which is the case most often), the
    structure member for
    the system volume offset is not filled.
  3. If a PCMCIA disk is in, the structure will never be filled.
    In my driver, I need to identify the boot volume (the one with the OS).
    Is it a safe workaround for 3. to assume that the very first read IRP
    targeted to a volume is targeted
    to the boot volume ?
    Or is there a way to use IoGetBootDiskInformation in a reliable manner ?

Regards
Else

DO_SYSTEM_BOOT_PARTITION flag on the device object is usually enough.

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

----- Original Message -----
From: “Else Kluger”
To: “Windows System Software Devs Interest List”
Sent: Wednesday, December 17, 2003 11:50 AM
Subject: [ntdev] IoGetBootDiskInformation

> Hi all,
>
> in my Disk/Volume UpperFilter I have a problem with
> IoGetBootDiskInformation.
> It is supposed to fill a caller allocated structure with the signatures of
> boot & system
> disks and the offsets of boot & system volume.
> 1. It never works with the first call => I call it at various places
> (Entry and AddDevice for Volumes),
> until the structure is finally completely filled.
> 2. If boot & system volume are the same (which is the case most often), the
> structure member for
> the system volume offset is not filled.
> 3. If a PCMCIA disk is in, the structure will never be filled.
> In my driver, I need to identify the boot volume (the one with the OS).
> Is it a safe workaround for 3. to assume that the very first read IRP
> targeted to a volume is targeted
> to the boot volume ?
> Or is there a way to use IoGetBootDiskInformation in a reliable manner ?
>
> Regards
> Else
>
>
>
> —
> Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com