How does a user-mode program re-read the partition table in NT 4.0?

I’ve got a user-mode program that needs to instruct the FSD to re-read the
partition table in NT 4. How can I do this? I’ve looked at the disk class
driver source in the DDK and there is an INTERNAL_SET_VERIFY ioctl that I
think might work – only it won’t work for requests made in user-mode (it
will in kernel-mode).


You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Will IOCTL_DISK_GET_DRIVE_LAYOUT do it for you? It returns
PARTITION_INFORMATION structures, one per partition on the disk… There’s
even a _SET_DRIVE_LAYOUT.

Peter
OSR

wrote in message news:xxxxx@ntfsd…
>
> I’ve got a user-mode program that needs to instruct the FSD to re-read the
> partition table in NT 4. How can I do this? I’ve looked at the disk
class
> driver source in the DDK and there is an INTERNAL_SET_VERIFY ioctl that I
> think might work – only it won’t work for requests made in user-mode (it
> will in kernel-mode).
>
> —
> You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
> To unsubscribe send a blank email to
leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>
>


You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com

I’ve tried that IOCTL but it doesn’t seem to work. What I’m trying to do
is get the SCSI port driver (actually it is probably the disk class driver)
to re-read the partition table from the copied disk. When the disk is
first discovered there are no partitions on it, so the only device object
that exists is \Device\Harddisk2\Partition0. It appears a reboot of the
system will solve my problem except one of my requirements states I can’t
do this. I read somewhere that the “volume verification bit” must be
turned off in order for IoReadPartitionTable to work properly (is this
true?).

Thanks!


You are currently subscribed to ntfsd as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntfsd-$subst(‘Recip.MemberIDChar’)@lists.osr.com